home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 22 / CU Amiga Magazine's Super CD-ROM 22 (1998)(EMAP Images)(GB)[!][issue 1998-05].iso / PowerPC / Programming / PPCSmallEiffel / bin_c / compile_to_c16.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  88.5 KB  |  3,750 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "compile_to_c.h"
  9. int r818a_identifier2(T818* C){
  10. int R=0;
  11. int _do_warning=0;
  12. int _state=0;
  13. /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) {
  14. r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/);
  15. /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  16. r7extend(((T7*)(oBC511tmp_string)),b1);
  17. }/*]*/
  18. while (!((_state)>(0))) {
  19. r818next_char(C);
  20. {int z1=(((T818*)C))->_cc/*24*/;
  21.  
  22. if(((48<=z1)&&(z1<=57))||(95==z1)||((97<=z1)&&(z1<=122))){
  23. /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  24. r7extend(((T7*)(oBC511tmp_string)),b1);
  25. }/*]*/
  26. }
  27.  else 
  28. if(((65<=z1)&&(z1<=90))){
  29. _do_warning=1;
  30. /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  31. r7extend(((T7*)(oBC511tmp_string)),b1);
  32. }/*]*/
  33. }
  34.  else{_state=1;
  35. }}
  36. }
  37. /*IF*/if (r511isa_keyword()) {
  38. _state=/*(IRF4.9count*/(((T7*)((T7*)(oBC511tmp_string))))->_count/*4*//*)*/;
  39. while (!((_state)==(0))) {
  40. _state=(_state)-(1);
  41. r818prev_char(C);
  42. }
  43. }
  44. else {
  45. R=1;
  46. r818skip_comments(C);
  47. /*IF*/if (_do_warning) {
  48. r818warning(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms159_818));
  49. }
  50. /*FI*/}
  51. /*FI*/}
  52. /*FI*/return R;
  53. }
  54. /*No:EIFFEL_PARSER.us_minus*/
  55. /*No:EIFFEL_PARSER.fz_elseif*/
  56. T0*oBC818lcs=NULL;
  57. /*No:EIFFEL_PARSER.end_of_text*/
  58. void r818prev_char(T818* C){
  59. /*IF*/if (((((T818*)C))->_column/*12*/)>(1)) {
  60. C->_column=((((T818*)C))->_column/*12*/)-(1);
  61. C->_cc=/*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[((((T818*)C))->_column/*12*/)-(1)]/*)*/;
  62. }
  63. else {
  64. /*IF*/if (((((T818*)C))->_line/*16*/)>(1)) {
  65. C->_line=((((T818*)C))->_line/*16*/)-(1);
  66. C->_current_line=r676item((((T818*)C))->_line/*16*/);
  67. C->_column=((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)+(1);
  68. C->_cc='\n';
  69. }
  70. else {
  71. C->_column=0;
  72. C->_cc='\0';
  73. }
  74. /*FI*/}
  75. /*FI*/}
  76. void r818a_indexing(T818* C){
  77. /*IF*/if (r818a_keyword(C,((T0*)ms22_470))) {
  78. r818a_index_list(C);
  79. }
  80. /*FI*/}
  81. void r818next_char(T818* C){
  82. /*IF*/if (((((T818*)C))->_column/*12*/)<((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)) {
  83. C->_column=((((T818*)C))->_column/*12*/)+(1);
  84. C->_cc=/*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[((((T818*)C))->_column/*12*/)-(1)]/*)*/;
  85. }
  86.  else if (((((T818*)C))->_column/*12*/)==((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)) {
  87. C->_column=((((T818*)C))->_column/*12*/)+(1);
  88. C->_cc='\n';
  89. }
  90.  else if (((((T818*)C))->_line/*16*/)==((((T676*)((T676*)(oBC364parser_buffer))))->_count/*4*/)) {
  91. C->_cc='\0';
  92. }
  93. else {
  94. C->_column=1;
  95. C->_line=((((T818*)C))->_line/*16*/)+(1);
  96. C->_current_line=r676item((((T818*)C))->_line/*16*/);
  97. /*IF*/if (((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)==(0)) {
  98. C->_cc='\n';
  99. }
  100. else {
  101. C->_cc=/*(IRF4.5first*//*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[(1)-(1)]/*)*//*)*/;
  102. }
  103. /*FI*/}
  104. /*FI*/}
  105. /*No:EIFFEL_PARSER.fz_redefine*/
  106. T0* r818pos(int a1,int a2){
  107. T0* R=NULL;
  108. {T627*n=malloc(sizeof(*n));
  109. *n=M627;
  110. r627make(n,a1,a2);
  111. R=(T0*)n;
  112. }
  113. return R;
  114. }
  115. /*No:EIFFEL_PARSER.fz_variant*/
  116. /*No:EIFFEL_PARSER.wcp*/
  117. int r818a_base_class_name(T818* C){
  118. int R=0;
  119. int _do_warning=0;
  120. int _state=0;
  121. /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) {
  122. /*IF*/if ((((unsigned)((((T818*)C))->_cc/*24*/))>=((unsigned)('a')))) {
  123. _do_warning=1;
  124. C->_cc=r3to_upper((((T818*)C))->_cc/*24*/);
  125. }
  126. /*FI*/r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/);
  127. /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  128. r7extend(((T7*)(oBC511tmp_string)),b1);
  129. }/*]*/
  130. while (!((_state)>(0))) {
  131. r818next_char(C);
  132. {int z1=(((T818*)C))->_cc/*24*/;
  133.  
  134. if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)){
  135. /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  136. r7extend(((T7*)(oBC511tmp_string)),b1);
  137. }/*]*/
  138. }
  139.  else 
  140. if(((97<=z1)&&(z1<=122))){
  141. _do_warning=1;
  142. /*[IRF3.6extend*/{char b1=r3to_upper((((T818*)C))->_cc/*24*/);
  143. r7extend(((T7*)(oBC511tmp_string)),b1);
  144. }/*]*/
  145. }
  146.  else{_state=1;
  147. }}
  148. }
  149. /*IF*/if (r511isa_keyword()) {
  150. _state=/*(IRF4.9count*/(((T7*)((T7*)(oBC511tmp_string))))->_count/*4*//*)*/;
  151. while (!((_state)==(0))) {
  152. _state=(_state)-(1);
  153. r818prev_char(C);
  154. }
  155. }
  156. else {
  157. R=1;
  158. r818skip_comments(C);
  159. /*IF*/if (_do_warning) {
  160. r818warning(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms153_818));
  161. }
  162. /*FI*/C->_last_class_name=r511to_class_name(((T511*)(oBC818tmp_name)));
  163. }
  164. /*FI*/}
  165. /*FI*/return R;
  166. }
  167. void r818a_formal_generic_list(T818* C){
  168. int _state=0;
  169. T0* _list=NULL;
  170. T0* _fga=NULL;
  171. T0* _constraint=NULL;
  172. T0* _name=NULL;
  173. T0* _sp=NULL;
  174. C->_formal_generic_list=NULL;
  175. while (!((_state)>(4))) {
  176. {int z1=_state;
  177.  
  178. if((0==z1)){
  179. /*IF*/if (r818skip1(C,'\133')) {
  180. {T627*n=malloc(sizeof(*n));
  181. *n=M627;
  182. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  183. _sp=(T0*)n;
  184. }
  185. _state=1;
  186. }
  187. else {
  188. _state=5;
  189. }
  190. /*FI*/}
  191.  else 
  192. if((1==z1)){
  193. /*IF*/if (r818a_base_class_name(C)) {
  194. _name=(((T818*)C))->_last_class_name/*89*/;
  195. _state=2;
  196. }
  197. else {
  198. _state=6;
  199. }
  200. /*FI*/}
  201.  else 
  202. if((2==z1)){
  203. /*IF*/if (r818skip2(C,'\55','\76')) {
  204. _state=4;
  205. }
  206.  else if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\135'))) {
  207. {T59*n=malloc(sizeof(*n));
  208. *n=M59;
  209. r59make(n,_name,_constraint);
  210. _fga=(T0*)n;
  211. }
  212. _name=NULL;
  213. _constraint=NULL;
  214. /*IF*/if ((_list)==((void*)(NULL))) {
  215. _list=se_ma681(1,_fga);
  216. }
  217. else {
  218. r681add_last(((T681*)_list),_fga);
  219. }
  220. /*FI*/_fga=NULL;
  221. /*IF*/if (r818skip1(C,'\54')) {
  222. _state=1;
  223. }
  224. else {
  225. C->_ok=r818skip1(C,'\135');
  226. _state=5;
  227. }
  228. /*FI*/}
  229. else {
  230. _state=6;
  231. }
  232. /*FI*/}
  233.  else 
  234. if((3==z1)){
  235. /*IF*/if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\135'))) {
  236. {T59*n=malloc(sizeof(*n));
  237. *n=M59;
  238. r59make(n,_name,_constraint);
  239. _fga=(T0*)n;
  240. }
  241. _name=NULL;
  242. _constraint=NULL;
  243. /*IF*/if ((_list)==((void*)(NULL))) {
  244. _list=se_ma681(1,_fga);
  245. }
  246. else {
  247. r681add_last(((T681*)_list),_fga);
  248. }
  249. /*FI*/_fga=NULL;
  250. /*IF*/if (r818skip1(C,'\54')) {
  251. _state=1;
  252. }
  253. else {
  254. C->_ok=r818skip1(C,'\135');
  255. _state=5;
  256. }
  257. /*FI*/}
  258. else {
  259. _state=6;
  260. }
  261. /*FI*/}
  262.  else{/*IF*/if (r818a_class_type(C)) {
  263. _constraint=(((T818*)C))->_last_class_type/*93*/;
  264. _state=3;
  265. }
  266. else {
  267. r818fcp(C,((T0*)ms94_818));
  268. _state=6;
  269. }
  270. /*FI*/}}
  271. }
  272. /*IF*/if ((_state)==(6)) {
  273. }
  274.  else if (((_sp)!=((void*)(NULL)))&&((_list)==((void*)(NULL)))) {
  275. r818warning(_sp,((T0*)ms95_818));
  276. }
  277.  else if ((_sp)!=((void*)(NULL))) {
  278. {T881*n=malloc(sizeof(*n));
  279. *n=M881;
  280. r881make(n,_sp,_list);
  281. C->_formal_generic_list=(T0*)n;
  282. }
  283. /*[IRF3.3set_formal_generic_list*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_formal_generic_list)=((((T818*)C))->_formal_generic_list/*33*/);
  284. /*]*/
  285. }
  286. /*FI*/}
  287. int r818a_void(T818* C){
  288. int R=0;
  289. /*IF*/if (r511is_void()) {
  290. C->_last_expression=r511to_e_void(((T511*)(oBC818tmp_name)));
  291. R=1;
  292. }
  293. /*FI*/return R;
  294. }
  295. /*No:EIFFEL_PARSER.fz_like*/
  296. T0* r818a_assertion(T818* C){
  297. T0* R=NULL;
  298. int _state=0;
  299. T0* _assertion=NULL;
  300. T0* _expression=NULL;
  301. T0* _tag=NULL;
  302. while (!((_state)>(3))) {
  303. {int z1=_state;
  304.  
  305. if((0==z1)){
  306. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) {
  307. /*[IRF3.6wcp*/{T818* C1=C;
  308. T0* b1=((T0*)ms68_470);
  309. r818warning(r818current_position(C1),b1);
  310. }/*]*/
  311. C->_ok=r818skip1(C,'\73');
  312. /*IF*/if (((((T818*)C))->_last_comments/*25*/)!=((void*)(NULL))) {
  313. {T348*n=malloc(sizeof(*n));
  314. *n=M348;
  315. r348make(n,NULL,NULL,r818get_comments(C));
  316. _assertion=(T0*)n;
  317. }
  318. /*IF*/if ((R)==((void*)(NULL))) {
  319. R=se_ma608(1,_assertion);
  320. }
  321. else {
  322. r608add_last(((T608*)R),_assertion);
  323. }
  324. /*FI*/}
  325. /*FI*/}
  326.  else if (r818a_tag_mark(C)) {
  327. _tag=(((T818*)C))->_last_tag_mark/*161*/;
  328. _state=1;
  329. }
  330.  else if (r818a_expression(C)) {
  331. _expression=(((T818*)C))->_last_expression/*97*/;
  332. _state=2;
  333. }
  334. else {
  335. _state=4;
  336. }
  337. /*FI*/}
  338.  else 
  339. if((1==z1)){
  340. /*IF*/if (r818skip1(C,'\73')) {
  341. {T348*n=malloc(sizeof(*n));
  342. *n=M348;
  343. r348make(n,_tag,NULL,r818get_comments(C));
  344. _assertion=(T0*)n;
  345. }
  346. /*IF*/if ((R)==((void*)(NULL))) {
  347. R=se_ma608(1,_assertion);
  348. }
  349. else {
  350. r608add_last(((T608*)R),_assertion);
  351. }
  352. /*FI*/_state=0;
  353. }
  354.  else if (r818a_tag_mark(C)) {
  355. {T348*n=malloc(sizeof(*n));
  356. *n=M348;
  357. r348make(n,_tag,NULL,r818get_comments(C));
  358. _assertion=(T0*)n;
  359. }
  360. /*IF*/if ((R)==((void*)(NULL))) {
  361. R=se_ma608(1,_assertion);
  362. }
  363. else {
  364. r608add_last(((T608*)R),_assertion);
  365. }
  366. /*FI*/_tag=(((T818*)C))->_last_tag_mark/*161*/;
  367. }
  368.  else if (r818a_expression(C)) {
  369. _expression=(((T818*)C))->_last_expression/*97*/;
  370. _state=3;
  371. }
  372. else {
  373. {T348*n=malloc(sizeof(*n));
  374. *n=M348;
  375. r348make(n,_tag,NULL,r818get_comments(C));
  376. _assertion=(T0*)n;
  377. }
  378. /*IF*/if ((R)==((void*)(NULL))) {
  379. R=se_ma608(1,_assertion);
  380. }
  381. else {
  382. r608add_last(((T608*)R),_assertion);
  383. }
  384. /*FI*/_state=4;
  385. }
  386. /*FI*/}
  387.  else 
  388. if((2==z1)){
  389. /*IF*/if (r818skip1(C,'\73')) {
  390. {T348*n=malloc(sizeof(*n));
  391. *n=M348;
  392. r348make(n,NULL,_expression,r818get_comments(C));
  393. _assertion=(T0*)n;
  394. }
  395. /*IF*/if ((R)==((void*)(NULL))) {
  396. R=se_ma608(1,_assertion);
  397. }
  398. else {
  399. r608add_last(((T608*)R),_assertion);
  400. }
  401. /*FI*/_state=0;
  402. }
  403.  else if (r818a_tag_mark(C)) {
  404. {T348*n=malloc(sizeof(*n));
  405. *n=M348;
  406. r348make(n,NULL,_expression,r818get_comments(C));
  407. _assertion=(T0*)n;
  408. }
  409. /*IF*/if ((R)==((void*)(NULL))) {
  410. R=se_ma608(1,_assertion);
  411. }
  412. else {
  413. r608add_last(((T608*)R),_assertion);
  414. }
  415. /*FI*/_tag=(((T818*)C))->_last_tag_mark/*161*/;
  416. _state=1;
  417. }
  418.  else if (r818a_expression(C)) {
  419. {T348*n=malloc(sizeof(*n));
  420. *n=M348;
  421. r348make(n,NULL,_expression,r818get_comments(C));
  422. _assertion=(T0*)n;
  423. }
  424. /*IF*/if ((R)==((void*)(NULL))) {
  425. R=se_ma608(1,_assertion);
  426. }
  427. else {
  428. r608add_last(((T608*)R),_assertion);
  429. }
  430. /*FI*/_expression=(((T818*)C))->_last_expression/*97*/;
  431. _state=2;
  432. }
  433. else {
  434. {T348*n=malloc(sizeof(*n));
  435. *n=M348;
  436. r348make(n,NULL,_expression,r818get_comments(C));
  437. _assertion=(T0*)n;
  438. }
  439. /*IF*/if ((R)==((void*)(NULL))) {
  440. R=se_ma608(1,_assertion);
  441. }
  442. else {
  443. r608add_last(((T608*)R),_assertion);
  444. }
  445. /*FI*/_state=4;
  446. }
  447. /*FI*/}
  448.  else{/*IF*/if (r818skip1(C,'\73')) {
  449. {T348*n=malloc(sizeof(*n));
  450. *n=M348;
  451. r348make(n,_tag,_expression,r818get_comments(C));
  452. _assertion=(T0*)n;
  453. }
  454. /*IF*/if ((R)==((void*)(NULL))) {
  455. R=se_ma608(1,_assertion);
  456. }
  457. else {
  458. r608add_last(((T608*)R),_assertion);
  459. }
  460. /*FI*/_state=0;
  461. }
  462.  else if (r818a_tag_mark(C)) {
  463. {T348*n=malloc(sizeof(*n));
  464. *n=M348;
  465. r348make(n,_tag,_expression,r818get_comments(C));
  466. _assertion=(T0*)n;
  467. }
  468. /*IF*/if ((R)==((void*)(NULL))) {
  469. R=se_ma608(1,_assertion);
  470. }
  471. else {
  472. r608add_last(((T608*)R),_assertion);
  473. }
  474. /*FI*/_tag=(((T818*)C))->_last_tag_mark/*161*/;
  475. _state=1;
  476. }
  477.  else if (r818a_expression(C)) {
  478. {T348*n=malloc(sizeof(*n));
  479. *n=M348;
  480. r348make(n,_tag,_expression,r818get_comments(C));
  481. _assertion=(T0*)n;
  482. }
  483. /*IF*/if ((R)==((void*)(NULL))) {
  484. R=se_ma608(1,_assertion);
  485. }
  486. else {
  487. r608add_last(((T608*)R),_assertion);
  488. }
  489. /*FI*/_expression=(((T818*)C))->_last_expression/*97*/;
  490. _state=2;
  491. }
  492. else {
  493. {T348*n=malloc(sizeof(*n));
  494. *n=M348;
  495. r348make(n,_tag,_expression,r818get_comments(C));
  496. _assertion=(T0*)n;
  497. }
  498. /*IF*/if ((R)==((void*)(NULL))) {
  499. R=se_ma608(1,_assertion);
  500. }
  501. else {
  502. r608add_last(((T608*)R),_assertion);
  503. }
  504. /*FI*/_state=4;
  505. }
  506. /*FI*/}}
  507. }
  508. return R;
  509. }
  510. void r818wcpefnc(T818* C,T0* a1,T0* a2){
  511. /*[IRF3.6append*/{T0* b1=((T0*)ms136_818);
  512. r7append(((T7*)(oBC683explanation)),b1);
  513. }/*]*/
  514. /*[IRF3.6append*/{T0* b1=a1;
  515. r7append(((T7*)(oBC683explanation)),b1);
  516. }/*]*/
  517. /*[IRF3.6append*/{T0* b1=((T0*)ms137_818);
  518. r7append(((T7*)(oBC683explanation)),b1);
  519. }/*]*/
  520. /*[IRF3.6append*/{T0* b1=a2;
  521. r7append(((T7*)(oBC683explanation)),b1);
  522. }/*]*/
  523. /*[IRF3.6wcp*/{T818* C1=C;
  524. T0* b1=((T0*)ms138_818);
  525. r818warning(r818current_position(C1),b1);
  526. }/*]*/
  527. }
  528. /*No:EIFFEL_PARSER.us_double*/
  529. T0* r818a_alias(T818* C){
  530. T0* R=NULL;
  531. /*IF*/if (r818a_keyword(C,((T0*)ms1_470))) {
  532. /*IF*/if (r818a_manifest_string(C)) {
  533. R=(((T805*)((T805*)((((T818*)C))->_last_manifest_string/*145*/))))->_to_string/*16*/;
  534. }
  535. else {
  536. r818fcp(C,((T0*)ms91_818));
  537. }
  538. /*FI*/}
  539. /*FI*/return R;
  540. }
  541. T0* r818parse_run_type(T818* C){
  542. T0* R=NULL;
  543. /*IF*/if (r818a_class_type(C)) {
  544. R=(((T818*)C))->_last_class_type/*93*/;
  545. }
  546. else {
  547. r818fcp(C,((T0*)ms156_818));
  548. }
  549. /*FI*/return R;
  550. }
  551. int r818a_debug(T818* C){
  552. int R=0;
  553. T0* _e_debug=NULL;
  554. T0* _list=NULL;
  555. T0* _sp=NULL;
  556. /*IF*/if (r818a_keyword(C,((T0*)ms7_470))) {
  557. {T627*n=malloc(sizeof(*n));
  558. *n=M627;
  559. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  560. _sp=(T0*)n;
  561. }
  562. /*IF*/if (r818skip1(C,'\50')) {
  563. while (!(!(r818a_manifest_string(C)))) {
  564. /*IF*/if ((_list)==((void*)(NULL))) {
  565. _list=se_ma381(1,(((T818*)C))->_last_manifest_string/*145*/);
  566. }
  567. else {
  568. r381add_last(((T381*)_list),(((T818*)C))->_last_manifest_string/*145*/);
  569. }
  570. /*FI*/C->_ok=r818skip1(C,'\54');
  571. }
  572. /*IF*/if ((_list)==((void*)(NULL))) {
  573. /*[IRF3.6wcp*/{T818* C1=C;
  574. T0* b1=((T0*)ms69_818);
  575. r818warning(r818current_position(C1),b1);
  576. }/*]*/
  577. }
  578. /*FI*//*IF*/if (!(r818skip1(C,'\51'))) {
  579. r818fcp(C,((T0*)ms70_818));
  580. }
  581. /*FI*/}
  582. /*FI*/R=1;
  583. {T347*n=malloc(sizeof(*n));
  584. *n=M347;
  585. r347make(n,_sp,_list,r818a_compound2(C,((T0*)ms71_818),((T0*)ms12_470)));
  586. _e_debug=(T0*)n;
  587. }
  588. C->_last_instruction=_e_debug;
  589. }
  590. /*FI*/return R;
  591. }
  592. int r818a_real(T818* C){
  593. int R=0;
  594. int _c=0;
  595. int _l=0;
  596. int _state=0;
  597. /*IF*/if ((r3is_digit((((T818*)C))->_cc/*24*/))||(((((T818*)C))->_cc/*24*/)==('\56'))) {
  598. _l=(((T818*)C))->_line/*16*/;
  599. _c=(((T818*)C))->_column/*12*/;
  600. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC818tmp_string)))))->_count)=(0);
  601. /*]*/
  602. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\56')) {
  603. r7append(((T7*)(oBC818tmp_string)),((T0*)ms185_470));
  604. _state=5;
  605. }
  606. else {
  607. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  608. }
  609. /*FI*/while (!((_state)>(11))) {
  610. r818next_char(C);
  611. {int z1=_state;
  612.  
  613. if((0==z1)){
  614. {int z2=(((T818*)C))->_cc/*24*/;
  615.  
  616. if(((48<=z2)&&(z2<=57))){
  617. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  618. }
  619.  else 
  620. if((46==z2)){
  621. r7extend(((T7*)(oBC818tmp_string)),'\56');
  622. _state=4;
  623. }
  624.  else{_state=13;
  625. }}
  626. }
  627.  else 
  628. if((1==z1)){
  629. {int z2=(((T818*)C))->_cc/*24*/;
  630.  
  631. if(((48<=z2)&&(z2<=57))){
  632. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  633. _state=2;
  634. }
  635.  else{r818fcp(C,((T0*)ms147_818));
  636. }}
  637. }
  638.  else 
  639. if((2==z1)){
  640. {int z2=(((T818*)C))->_cc/*24*/;
  641.  
  642. if(((48<=z2)&&(z2<=57))){
  643. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  644. _state=3;
  645. }
  646.  else{r818fcp(C,((T0*)ms147_818));
  647. }}
  648. }
  649.  else 
  650. if((3==z1)){
  651. {int z2=(((T818*)C))->_cc/*24*/;
  652.  
  653. if(((48<=z2)&&(z2<=57))){
  654. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  655. _state=0;
  656. }
  657.  else{r818fcp(C,((T0*)ms147_818));
  658. }}
  659. }
  660.  else 
  661. if((4==z1)){
  662. {int z2=(((T818*)C))->_cc/*24*/;
  663.  
  664. if(((48<=z2)&&(z2<=57))){
  665. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  666. _state=6;
  667. }
  668.  else 
  669. if((69==z2)||(101==z2)){
  670. r7extend(((T7*)(oBC818tmp_string)),'E');
  671. _state=10;
  672. }
  673.  else{_state=12;
  674. }}
  675. }
  676.  else 
  677. if((5==z1)){
  678. {int z2=(((T818*)C))->_cc/*24*/;
  679.  
  680. if(((48<=z2)&&(z2<=57))){
  681. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  682. _state=6;
  683. }
  684.  else{_state=13;
  685. }}
  686. }
  687.  else 
  688. if((6==z1)){
  689. {int z2=(((T818*)C))->_cc/*24*/;
  690.  
  691. if(((48<=z2)&&(z2<=57))){
  692. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  693. }
  694.  else 
  695. if((69==z2)||(101==z2)){
  696. r7extend(((T7*)(oBC818tmp_string)),'E');
  697. _state=10;
  698. }
  699.  else 
  700. if((95==z2)){
  701. _state=7;
  702. }
  703.  else{_state=12;
  704. }}
  705. }
  706.  else 
  707. if((7==z1)){
  708. {int z2=(((T818*)C))->_cc/*24*/;
  709.  
  710. if(((48<=z2)&&(z2<=57))){
  711. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  712. _state=8;
  713. }
  714.  else{r818fcp(C,((T0*)ms139_818));
  715. }}
  716. }
  717.  else 
  718. if((8==z1)){
  719. {int z2=(((T818*)C))->_cc/*24*/;
  720.  
  721. if(((48<=z2)&&(z2<=57))){
  722. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  723. _state=9;
  724. }
  725.  else{r818fcp(C,((T0*)ms139_818));
  726. }}
  727. }
  728.  else 
  729. if((9==z1)){
  730. {int z2=(((T818*)C))->_cc/*24*/;
  731.  
  732. if(((48<=z2)&&(z2<=57))){
  733. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  734. _state=6;
  735. }
  736.  else{r818fcp(C,((T0*)ms139_818));
  737. }}
  738. }
  739.  else 
  740. if((10==z1)){
  741. {int z2=(((T818*)C))->_cc/*24*/;
  742.  
  743. if((43==z2)){
  744. _state=11;
  745. }
  746.  else 
  747. if((45==z2)){
  748. r7extend(((T7*)(oBC818tmp_string)),'\55');
  749. _state=11;
  750. }
  751.  else 
  752. if(((48<=z2)&&(z2<=57))){
  753. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  754. _state=11;
  755. }
  756.  else{r818fcp(C,((T0*)ms29_818));
  757. _state=13;
  758. }}
  759. }
  760.  else{{int z2=(((T818*)C))->_cc/*24*/;
  761.  
  762. if(((48<=z2)&&(z2<=57))){
  763. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  764. }
  765.  else{_state=12;
  766. }}
  767. }}
  768. }
  769. /*IF*/if ((_state)==(12)) {
  770. {T936*n=malloc(sizeof(*n));
  771. *n=M936;
  772. r936make(n,r818pos(_l,_c),r7twin(((T7*)(oBC818tmp_string))));
  773. C->_last_real_constant=(T0*)n;
  774. }
  775. R=1;
  776. r818skip_comments(C);
  777. }
  778. else {
  779. r818go_back_at(C,_l,_c);
  780. }
  781. /*FI*/}
  782. /*FI*/return R;
  783. }
  784. void r818a_redefine_list(T818* C){
  785. /*IF*/if (r818a_feature_list(C)) {
  786. r877set_redefine(((T877*)((((T818*)C))->_last_parent/*149*/)),(((T818*)C))->_last_feature_list/*105*/);
  787. }
  788. /*FI*/}
  789. /*No:EIFFEL_PARSER.fz_undefine*/
  790. void r818a_local_var_list(T818* C,T0* a1){
  791. int _state=0;
  792. int _rank=0;
  793. T0* _list=NULL;
  794. T0* _declaration=NULL;
  795. T0* _name_list=NULL;
  796. T0* _name=NULL;
  797. while (!((_state)>(4))) {
  798. {int z1=_state;
  799.  
  800. if((0==z1)){
  801. /*IF*/if (r818a_identifier(C)) {
  802. _name=r511to_local_name1(((T511*)(oBC818tmp_name)));
  803. _state=1;
  804. /*IF*/if (((((T818*)C))->_arguments/*45*/)!=((void*)(NULL))) {
  805. _rank=r31rank_of(((T31*)((((T818*)C))->_arguments/*45*/)),(((T39*)((T39*)_name)))->_to_string/*12*/);
  806. /*IF*/if ((_rank)>(0)) {
  807. r683add_position((((T39*)((T39*)_name)))->_start_position/*16*/);
  808. r683add_position((((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)((((T818*)C))->_arguments/*45*/))))->_flat_list/*12*/)),_rank)/*)*/))))->_start_position/*16*/);
  809. r683error(((T683*)(oBC364eh)),((T0*)ms16_818));
  810. }
  811. /*FI*/}
  812. /*FI*/}
  813.  else if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\73'))) {
  814. /*[IRF3.6wcp*/{T818* C1=C;
  815. T0* b1=((T0*)ms151_818);
  816. r818warning(r818current_position(C1),b1);
  817. }/*]*/
  818. C->_ok=(r818skip1(C,'\54'))||(r818skip1(C,'\73'));
  819. }
  820. else {
  821. _state=5;
  822. }
  823. /*FI*/}
  824.  else 
  825. if((1==z1)){
  826. /*IF*/if (r818skip1(C,'\72')) {
  827. /*IF*/if ((_name_list)!=((void*)(NULL))) {
  828. r733add_last(((T733*)_name_list),_name);
  829. _name=NULL;
  830. }
  831. /*FI*/_state=3;
  832. }
  833. else {
  834. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) {
  835. /*[IRF3.6wcp*/{T818* C1=C;
  836. T0* b1=((T0*)ms17_818);
  837. r818warning(r818current_position(C1),b1);
  838. }/*]*/
  839. C->_ok=r818skip1(C,'\73');
  840. }
  841. else {
  842. C->_ok=r818skip1(C,'\54');
  843. }
  844. /*FI*//*IF*/if ((_name_list)==((void*)(NULL))) {
  845. _name_list=se_ma733(1,_name);
  846. }
  847. else {
  848. r733add_last(((T733*)_name_list),_name);
  849. }
  850. /*FI*/_name=NULL;
  851. _state=2;
  852. }
  853. /*FI*/}
  854.  else 
  855. if((2==z1)){
  856. /*IF*/if (r818a_identifier(C)) {
  857. _name=r511to_local_name1(((T511*)(oBC818tmp_name)));
  858. _state=1;
  859. /*IF*/if (((((T818*)C))->_arguments/*45*/)!=((void*)(NULL))) {
  860. _rank=r31rank_of(((T31*)((((T818*)C))->_arguments/*45*/)),(((T39*)((T39*)_name)))->_to_string/*12*/);
  861. /*IF*/if ((_rank)>(0)) {
  862. r683add_position((((T39*)((T39*)_name)))->_start_position/*16*/);
  863. r683add_position((((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)((((T818*)C))->_arguments/*45*/))))->_flat_list/*12*/)),_rank)/*)*/))))->_start_position/*16*/);
  864. r683error(((T683*)(oBC364eh)),((T0*)ms18_818));
  865. }
  866. /*FI*/}
  867. /*FI*/}
  868.  else if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\73'))) {
  869. /*[IRF3.6wcp*/{T818* C1=C;
  870. T0* b1=((T0*)ms151_818);
  871. r818warning(r818current_position(C1),b1);
  872. }/*]*/
  873. C->_ok=(r818skip1(C,'\54'))||(r818skip1(C,'\73'));
  874. }
  875. else {
  876. _state=6;
  877. }
  878. /*FI*/}
  879.  else 
  880. if((3==z1)){
  881. /*IF*/if (r818a_type(C)) {
  882. /*IF*/if ((_name_list)!=((void*)(NULL))) {
  883. {T64*n=malloc(sizeof(*n));
  884. *n=M64;
  885. r64make(n,_name_list,(((T818*)C))->_last_type/*157*/);
  886. _declaration=(T0*)n;
  887. }
  888. _name_list=NULL;
  889. }
  890. else {
  891. {T723*n=malloc(sizeof(*n));
  892. *n=M723;
  893. r723make(n,_name,(((T818*)C))->_last_type/*157*/);
  894. _declaration=(T0*)n;
  895. }
  896. _name=NULL;
  897. }
  898. /*FI*//*IF*/if ((_list)==((void*)(NULL))) {
  899. _list=se_ma382(1,_declaration);
  900. }
  901. else {
  902. r382add_last(((T382*)_list),_declaration);
  903. }
  904. /*FI*/_state=4;
  905. }
  906. else {
  907. _state=6;
  908. }
  909. /*FI*/}
  910.  else{/*IF*/if (((((T818*)C))->_cc/*24*/)==('\54')) {
  911. /*[IRF3.6wcp*/{T818* C1=C;
  912. T0* b1=((T0*)ms19_818);
  913. r818warning(r818current_position(C1),b1);
  914. }/*]*/
  915. C->_ok=r818skip1(C,'\54');
  916. _state=0;
  917. }
  918. else {
  919. C->_ok=r818skip1(C,'\73');
  920. _state=0;
  921. }
  922. /*FI*/}}
  923. }
  924. /*IF*/if ((_state)==(6)) {
  925. r818fcp(C,((T0*)ms20_818));
  926. }
  927.  else if ((_list)!=((void*)(NULL))) {
  928. {T620*n=malloc(sizeof(*n));
  929. *n=M620;
  930. r620make(n,a1,_list);
  931. C->_local_vars=(T0*)n;
  932. }
  933. /*[IRF3.3set_local_vars*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_local_vars)=((((T818*)C))->_local_vars/*49*/);
  934. /*]*/
  935. }
  936. /*FI*/}
  937. /*No:EIFFEL_PARSER.fz_59*/
  938. /*No:EIFFEL_PARSER.fz_desc*/
  939. void r818a_rename_list(T818* C){
  940. while (!(!(r818a_rename_pair(C)))) {
  941. C->_ok=r818skip1(C,'\54');
  942. }
  943. }
  944. int r818a_argument(T818* C){
  945. int R=0;
  946. int _rank=0;
  947. /*IF*/if (((((T818*)C))->_arguments/*45*/)!=((void*)(NULL))) {
  948. _rank=r31rank_of(((T31*)((((T818*)C))->_arguments/*45*/)),r511to_string(((T511*)(oBC818tmp_name))));
  949. /*IF*/if ((_rank)>(0)) {
  950. C->_last_expression=r511to_argument_name2(((T511*)(oBC818tmp_name)),(((T818*)C))->_arguments/*45*/,_rank);
  951. R=1;
  952. }
  953. /*FI*/}
  954. /*FI*/return R;
  955. }
  956. /*No:EIFFEL_PARSER.fz_local*/
  957. /*No:EIFFEL_PARSER.formal_generic_list*/
  958. T0* r818to_call(T0* a1,T0* a2,T0* a3){
  959. T0* R=NULL;
  960. /*IF*/if ((a2)==((void*)(NULL))) {
  961. R=a1;
  962. }
  963.  else if ((a3)==((void*)(NULL))) {
  964. {T487*n=malloc(sizeof(*n));
  965. *n=M487;
  966. r487make(n,a1,a2);
  967. R=(T0*)n;
  968. }
  969. }
  970.  else if ((X431count(a3))==(1)) {
  971. {T492*n=malloc(sizeof(*n));
  972. *n=M492;
  973. r492make(n,a1,a2,a3);
  974. R=(T0*)n;
  975. }
  976. }
  977. else {
  978. {T915*n=malloc(sizeof(*n));
  979. *n=M915;
  980. r915make(n,a1,a2,a3);
  981. R=(T0*)n;
  982. }
  983. }
  984. /*FI*/return R;
  985. }
  986. /*No:EIFFEL_PARSER.fz_require*/
  987. /*No:EIFFEL_PARSER.fz_then*/
  988. /*No:EIFFEL_PARSER.fz_when*/
  989. /*No:EIFFEL_PARSER.set_drop_comments*/
  990. /*No:EIFFEL_PARSER.fz_error_stars*/
  991. void r818a_undefine_list(T818* C){
  992. /*IF*/if (r818a_feature_list(C)) {
  993. r877set_undefine(((T877*)((((T818*)C))->_last_parent/*149*/)),(((T818*)C))->_last_feature_list/*105*/);
  994. }
  995. /*FI*/}
  996. /*No:EIFFEL_PARSER.current_line*/
  997. /*No:EIFFEL_PARSER.fatal_error*/
  998. /*No:EIFFEL_PARSER.us_native_array*/
  999. void r818a_after_a_dot(T818* C,int a1,T0* a2){
  1000. T0* _eal=NULL;
  1001. T0* _sfn=NULL;
  1002. /*IF*/if (r818a_identifier(C)) {
  1003. /*IF*/if (((r818a_result(C))||(r818a_void(C)))||(r818a_current(C))) {
  1004. r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/));
  1005. r683error(((T683*)(oBC364eh)),((T0*)ms33_818));
  1006. }
  1007. /*FI*/_sfn=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
  1008. _eal=r818a_actuals(C);
  1009. r818a_r10(C,a1,a2,_sfn,_eal);
  1010. }
  1011. else {
  1012. r818fcp(C,((T0*)ms34_818));
  1013. }
  1014. /*FI*/}
  1015. int r818a_constant(T818* C){
  1016. int R=0;
  1017. T0* _sfn=NULL;
  1018. T0* _e_current=NULL;
  1019. /*IF*/if (r818a_identifier(C)) {
  1020. R=1;
  1021. _sfn=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
  1022. {T358*n=malloc(sizeof(*n));
  1023. *n=M358;
  1024. r358make(n,(((T446*)((T446*)_sfn)))->_start_position/*20*/,0);
  1025. _e_current=(T0*)n;
  1026. }
  1027. {T487*n=malloc(sizeof(*n));
  1028. *n=M487;
  1029. r487make(n,_e_current,_sfn);
  1030. C->_last_expression=(T0*)n;
  1031. }
  1032. }
  1033.  else if (r818a_character_constant(C)) {
  1034. R=1;
  1035. C->_last_expression=(((T818*)C))->_last_character_constant/*85*/;
  1036. }
  1037.  else if (r818a_integer_constant(C)) {
  1038. R=1;
  1039. C->_last_expression=(((T818*)C))->_last_integer_constant/*129*/;
  1040. }
  1041. /*FI*/return R;
  1042. }
  1043. /*No:EIFFEL_PARSER.last_bit_constant*/
  1044. /*No:EIFFEL_PARSER.fz_check*/
  1045. T0* r818a_routine_body(T818* C){
  1046. T0* R=NULL;
  1047. /*IF*/if (r818a_keyword(C,((T0*)ms8_470))) {
  1048. r605set_is_deferred(((T605*)((((T818*)C))->_last_base_class/*65*/)));
  1049. R=r505to_deferred_routine(((T505*)(oBC818tmp_feature)));
  1050. }
  1051.  else if (r818a_keyword(C,((T0*)ms16_470))) {
  1052. R=r818a_external(C);
  1053. }
  1054.  else if (r818a_keyword(C,((T0*)ms9_470))) {
  1055. /*[IRF3.3set_routine_body*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_routine_body)=(r818a_compound1(C,((T0*)ms116_818)));
  1056. /*]*/
  1057. R=r505to_procedure_or_function(((T505*)(oBC818tmp_feature)));
  1058. }
  1059.  else if (r818a_keyword(C,((T0*)ms35_470))) {
  1060. /*[IRF3.3set_routine_body*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_routine_body)=(r818a_compound1(C,((T0*)ms117_818)));
  1061. /*]*/
  1062. R=r505to_once_routine(((T505*)(oBC818tmp_feature)));
  1063. }
  1064. else {
  1065. r818fcp(C,((T0*)ms118_818));
  1066. }
  1067. /*FI*/return R;
  1068. }
  1069. int r818a_type(T818* C){
  1070. int R=0;
  1071. T0* _argument_name2=NULL;
  1072. T0* _sp=NULL;
  1073. R=1;
  1074. /*IF*/if (r818a_keyword(C,((T0*)ms30_470))) {
  1075. {T627*n=malloc(sizeof(*n));
  1076. *n=M627;
  1077. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1078. _sp=(T0*)n;
  1079. }
  1080. /*IF*/if (r818a_identifier(C)) {
  1081. /*IF*/if (r818a_current(C)) {
  1082. {T958*n=malloc(sizeof(*n));
  1083. *n=M958;
  1084. r958make(n,_sp,(((T818*)C))->_last_expression/*97*/);
  1085. C->_last_type=(T0*)n;
  1086. }
  1087. }
  1088.  else if (r818a_argument(C)) {
  1089. _argument_name2=(((T818*)C))->_last_expression/*97*/;
  1090. if(NULL!=(_argument_name2))switch(((T0*)_argument_name2)->id) {
  1091. case 886: 
  1092. break;
  1093. default:
  1094. _argument_name2=NULL;
  1095. };{T239*n=malloc(sizeof(*n));
  1096. *n=M239;
  1097. r239make(n,_sp,_argument_name2);
  1098. C->_last_type=(T0*)n;
  1099. }
  1100. }
  1101. else {
  1102. {T648*n=malloc(sizeof(*n));
  1103. *n=M648;
  1104. r648make(n,_sp,r511to_simple_feature_name(((T511*)(oBC818tmp_name))));
  1105. C->_last_type=(T0*)n;
  1106. }
  1107. }
  1108. /*FI*/}
  1109. else {
  1110. r818fcp(C,((T0*)ms129_818));
  1111. }
  1112. /*FI*/}
  1113.  else if (r818a_keyword(C,((T0*)ms14_470))) {
  1114. {T627*n=malloc(sizeof(*n));
  1115. *n=M627;
  1116. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1117. _sp=(T0*)n;
  1118. }
  1119. /*IF*/if (r818a_class_type(C)) {
  1120. {T523*n=malloc(sizeof(*n));
  1121. *n=M523;
  1122. r523make(n,_sp,(((T818*)C))->_last_class_type/*93*/);
  1123. C->_last_type=(T0*)n;
  1124. }
  1125. }
  1126. else {
  1127. r818fcp(C,((T0*)ms130_818));
  1128. }
  1129. /*FI*/}
  1130.  else if (r818a_keyword(C,((T0*)ms3_473))) {
  1131. {T627*n=malloc(sizeof(*n));
  1132. *n=M627;
  1133. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1134. _sp=(T0*)n;
  1135. }
  1136. /*IF*/if (r818a_integer(C)) {
  1137. {T549*n=malloc(sizeof(*n));
  1138. *n=M549;
  1139. r549make(n,_sp,(((T818*)C))->_last_integer_constant/*129*/);
  1140. C->_last_type=(T0*)n;
  1141. }
  1142. }
  1143.  else if (r818a_identifier(C)) {
  1144. {T558*n=malloc(sizeof(*n));
  1145. *n=M558;
  1146. r558make(n,_sp,r511to_simple_feature_name(((T511*)(oBC818tmp_name))));
  1147. C->_last_type=(T0*)n;
  1148. }
  1149. }
  1150. else {
  1151. r818fcp(C,((T0*)ms131_818));
  1152. }
  1153. /*FI*/}
  1154.  else if (r818a_type_formal_generic(C)) {
  1155. C->_last_type=(((T818*)C))->_last_type_formal_generic/*117*/;
  1156. }
  1157.  else if (r818a_class_type(C)) {
  1158. C->_last_type=(((T818*)C))->_last_class_type/*93*/;
  1159. }
  1160. else {
  1161. R=0;
  1162. }
  1163. /*FI*/return R;
  1164. }
  1165. /*No:EIFFEL_PARSER.last_manifest_constant*/
  1166. int r818a_inspect(T818* C){
  1167. int R=0;
  1168. T0* _ec=NULL;
  1169. T0* _i=NULL;
  1170. T0* _spec=NULL;
  1171. T0* _sp=NULL;
  1172. /*IF*/if (r818a_keyword(C,((T0*)ms25_470))) {
  1173. R=1;
  1174. {T627*n=malloc(sizeof(*n));
  1175. *n=M627;
  1176. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1177. _sp=(T0*)n;
  1178. }
  1179. /*IF*/if (r818a_expression(C)) {
  1180. C->_last_expression=X662add_comment((((T818*)C))->_last_expression/*97*/,r818get_comments(C));
  1181. }
  1182. else {
  1183. r818fcp(C,((T0*)ms99_818));
  1184. }
  1185. /*FI*/{T270*n=malloc(sizeof(*n));
  1186. *n=M270;
  1187. r270make(n,_sp,(((T818*)C))->_last_expression/*97*/);
  1188. _i=(T0*)n;
  1189. }
  1190. while (!(!(r818a_when_part(C,_i)))) {
  1191. }
  1192. /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) {
  1193. {T627*n=malloc(sizeof(*n));
  1194. *n=M627;
  1195. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1196. _spec=(T0*)n;
  1197. }
  1198. _ec=r818a_compound2(C,((T0*)ms100_818),((T0*)ms12_470));
  1199. r270set_else_compound(((T270*)_i),_spec,_ec);
  1200. }
  1201.  else if (!(r818a_keyword(C,((T0*)ms12_470)))) {
  1202. /*[IRF3.6wcp*/{T818* C1=C;
  1203. T0* b1=((T0*)ms101_818);
  1204. r818warning(r818current_position(C1),b1);
  1205. }/*]*/
  1206. }
  1207. /*FI*/C->_last_instruction=_i;
  1208. }
  1209. /*FI*/return R;
  1210. }
  1211. int r818a_assignment_or_call(T818* C){
  1212. int R=0;
  1213. /*IF*/if ((r818skip1(C,'\50'))&&(r818a_expression(C))) {
  1214. R=1;
  1215. /*IF*/if (r818skip1(C,'\51')) {
  1216. r818a_r10(C,1,(((T818*)C))->_last_expression/*97*/,NULL,NULL);
  1217. }
  1218. else {
  1219. r818fcp(C,((T0*)ms35_818));
  1220. }
  1221. /*FI*/}
  1222.  else if (r818a_identifier(C)) {
  1223. R=1;
  1224. /*IF*/if (r818skip2(C,'\72','\75')) {
  1225. r818a_assignment_aux(C,1);
  1226. }
  1227.  else if (r818skip2(C,'\77','\75')) {
  1228. r818a_assignment_aux(C,0);
  1229. }
  1230.  else if ((((r818a_current(C))||(r818a_result(C)))||(r818a_local_variable(C)))||(r818a_argument(C))) {
  1231. r818a_r10(C,1,(((T818*)C))->_last_expression/*97*/,NULL,NULL);
  1232. }
  1233. else {
  1234. r818a_procedure_call(C);
  1235. }
  1236. /*FI*/}
  1237. /*FI*/return R;
  1238. }
  1239. /*No:EIFFEL_PARSER.last_feature_list*/
  1240. T0* r818get_comments(T818* C){
  1241. T0* R=NULL;
  1242. R=(((T818*)C))->_last_comments/*25*/;
  1243. C->_last_comments=NULL;
  1244. return R;
  1245. }
  1246. void r818warning(T0* a1,T0* a2){
  1247. r683add_position(a1);
  1248. r683warning(((T683*)(oBC364eh)),a2);
  1249. }
  1250. /*No:EIFFEL_PARSER.fz_retry*/
  1251. /*No:EIFFEL_PARSER.fz_inherit*/
  1252. /*No:EIFFEL_PARSER.fz_select*/
  1253. int r818a_creation(T818* C){
  1254. int R=0;
  1255. int _state=0;
  1256. T0* _call=NULL;
  1257. T0* _proc_name=NULL;
  1258. T0* _writable=NULL;
  1259. T0* _type=NULL;
  1260. T0* _sp=NULL;
  1261. while (!((_state)>(6))) {
  1262. {int z1=_state;
  1263.  
  1264. if((0==z1)){
  1265. /*IF*/if (r818skip1(C,'\41')) {
  1266. {T627*n=malloc(sizeof(*n));
  1267. *n=M627;
  1268. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1269. _sp=(T0*)n;
  1270. }
  1271. _state=1;
  1272. }
  1273. else {
  1274. _state=7;
  1275. }
  1276. /*FI*/}
  1277.  else 
  1278. if((1==z1)){
  1279. /*IF*/if (r818a_type(C)) {
  1280. _type=(((T818*)C))->_last_type/*157*/;
  1281. /*IF*/if (X291is_anchored(_type)) {
  1282. r818warning(X291start_position(_type),((T0*)ms62_818));
  1283. }
  1284. /*FI*/_state=2;
  1285. }
  1286.  else if (r818skip1(C,'\41')) {
  1287. _state=3;
  1288. }
  1289. else {
  1290. r818fcp(C,((T0*)ms63_818));
  1291. _state=8;
  1292. }
  1293. /*FI*/}
  1294.  else 
  1295. if((2==z1)){
  1296. /*IF*/if (r818skip1(C,'\41')) {
  1297. _state=3;
  1298. }
  1299. else {
  1300. _state=8;
  1301. r818fcp(C,((T0*)ms64_818));
  1302. }
  1303. /*FI*/}
  1304.  else 
  1305. if((3==z1)){
  1306. /*IF*/if (r818a_identifier(C)) {
  1307. /*IF*/if (r818a_current(C)) {
  1308. _state=8;
  1309. r818error(X662start_position((((T818*)C))->_last_expression/*97*/),((T0*)ms65_818));
  1310. }
  1311.  else if (r818a_argument(C)) {
  1312. _state=8;
  1313. r818error(X662start_position((((T818*)C))->_last_expression/*97*/),((T0*)ms66_818));
  1314. }
  1315.  else if ((r818a_result(C))||(r818a_local_variable(C))) {
  1316. _writable=(((T818*)C))->_last_expression/*97*/;
  1317. _state=4;
  1318. }
  1319. else {
  1320. _writable=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
  1321. _state=4;
  1322. }
  1323. /*FI*/}
  1324. else {
  1325. _state=8;
  1326. r818fcp(C,((T0*)ms67_818));
  1327. }
  1328. /*FI*/}
  1329.  else 
  1330. if((4==z1)){
  1331. /*IF*/if (r818skip1unless2(C,'\56','\56')) {
  1332. _state=5;
  1333. }
  1334. else {
  1335. _state=7;
  1336. }
  1337. /*FI*/}
  1338.  else 
  1339. if((5==z1)){
  1340. /*IF*/if (r818a_identifier(C)) {
  1341. _proc_name=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
  1342. _state=6;
  1343. }
  1344. else {
  1345. _state=8;
  1346. r818fcp(C,((T0*)ms68_818));
  1347. }
  1348. /*FI*/}
  1349.  else{/*IF*/if (((((T818*)C))->_cc/*24*/)==('\50')) {
  1350. _call=r818to_proc_call(C,_writable,_proc_name,r818a_actuals(C));
  1351. }
  1352. else {
  1353. {T268*n=malloc(sizeof(*n));
  1354. *n=M268;
  1355. r268make(n,_writable,_proc_name);
  1356. _call=(T0*)n;
  1357. }
  1358. }
  1359. /*FI*/_state=7;
  1360. }}
  1361. }
  1362. /*IF*/if (((_state)==(7))&&((_sp)!=((void*)(NULL)))) {
  1363. R=1;
  1364. /*IF*/if (((_type)==((void*)(NULL)))&&((_call)==((void*)(NULL)))) {
  1365. {T362*n=malloc(sizeof(*n));
  1366. *n=M362;
  1367. r362make(n,_sp,_writable);
  1368. C->_last_instruction=(T0*)n;
  1369. }
  1370. }
  1371.  else if (((_type)!=((void*)(NULL)))&&((_call)==((void*)(NULL)))) {
  1372. {T376*n=malloc(sizeof(*n));
  1373. *n=M376;
  1374. r376make(n,_sp,_type,_writable);
  1375. C->_last_instruction=(T0*)n;
  1376. }
  1377. }
  1378.  else if (((_type)==((void*)(NULL)))&&((_call)!=((void*)(NULL)))) {
  1379. {T390*n=malloc(sizeof(*n));
  1380. *n=M390;
  1381. r390make(n,_sp,_writable,_call);
  1382. C->_last_instruction=(T0*)n;
  1383. }
  1384. }
  1385. else {
  1386. {T404*n=malloc(sizeof(*n));
  1387. *n=M404;
  1388. r404make(n,_sp,_type,_writable,_call);
  1389. C->_last_instruction=(T0*)n;
  1390. }
  1391. }
  1392. /*FI*/}
  1393. /*FI*/return R;
  1394. }
  1395. /*No:EIFFEL_PARSER.fz_old*/
  1396. T0* r818a_routine(T818* C){
  1397. T0* R=NULL;
  1398. T0* _ea=NULL;
  1399. T0* _al=NULL;
  1400. T0* _hc=NULL;
  1401. T0* _sp=NULL;
  1402. /*IF*/if (r818a_keyword(C,((T0*)ms33_470))) {
  1403. /*IF*/if (r818a_manifest_string(C)) {
  1404. /*[IRF3.3set_obsolete_mark*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_obsolete_mark)=((((T818*)C))->_last_manifest_string/*145*/);
  1405. /*]*/
  1406. }
  1407. else {
  1408. r818fcp(C,((T0*)ms114_818));
  1409. }
  1410. /*FI*/}
  1411. /*FI*//*[IRF3.3set_header_comment*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_header_comment)=(r818get_comments(C));
  1412. /*]*/
  1413. /*IF*/if (r818a_keyword(C,((T0*)ms40_470))) {
  1414. {T627*n=malloc(sizeof(*n));
  1415. *n=M627;
  1416. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1417. _sp=(T0*)n;
  1418. }
  1419. /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) {
  1420. _hc=r818get_comments(C);
  1421. r505set_require_else(((T505*)(oBC818tmp_feature)),_sp,_hc,r818a_assertion(C));
  1422. }
  1423. else {
  1424. _hc=r818get_comments(C);
  1425. r505set_require(((T505*)(oBC818tmp_feature)),_sp,_hc,r818a_assertion(C));
  1426. }
  1427. /*FI*/}
  1428. /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms31_470))) {
  1429. r818a_local_var_list(C,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1430. }
  1431. /*FI*/R=r818a_routine_body(C);
  1432. /*IF*/if (r818a_keyword(C,((T0*)ms13_470))) {
  1433. {T627*n=malloc(sizeof(*n));
  1434. *n=M627;
  1435. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1436. _sp=(T0*)n;
  1437. }
  1438. C->_in_ensure=1;
  1439. /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) {
  1440. _hc=r818get_comments(C);
  1441. _al=r818a_assertion(C);
  1442. /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) {
  1443. {T633*n=malloc(sizeof(*n));
  1444. *n=M633;
  1445. r633make(n,_sp,_hc,_al);
  1446. _ea=(T0*)n;
  1447. }
  1448. /*[IRF3.3set_ensure_then*/((((T633*)(((T633*)_ea))))->_is_ensure_then)=(1);
  1449. /*]*/
  1450. }
  1451. /*FI*/X368set_ensure_assertion(R,_ea);
  1452. }
  1453. else {
  1454. _hc=r818get_comments(C);
  1455. _al=r818a_assertion(C);
  1456. /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) {
  1457. {T633*n=malloc(sizeof(*n));
  1458. *n=M633;
  1459. r633make(n,_sp,_hc,_al);
  1460. _ea=(T0*)n;
  1461. }
  1462. }
  1463. /*FI*/X368set_ensure_assertion(R,_ea);
  1464. }
  1465. /*FI*/C->_in_ensure=0;
  1466. }
  1467. /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms41_470))) {
  1468. C->_in_rescue=1;
  1469. X368set_rescue_compound(R,r818a_compound2(C,((T0*)ms41_470),((T0*)ms12_470)));
  1470. C->_in_rescue=0;
  1471. }
  1472. else {
  1473. /*IF*/if (!(r818a_keyword(C,((T0*)ms12_470)))) {
  1474. /*[IRF3.6wcp*/{T818* C1=C;
  1475. T0* b1=((T0*)ms115_818);
  1476. r818warning(r818current_position(C1),b1);
  1477. }/*]*/
  1478. }
  1479. /*FI*/}
  1480. /*FI*/C->_local_vars=NULL;
  1481. return R;
  1482. }
  1483. T0*oBC818tmp_name=NULL;
  1484. void r818a_then_part_list(T818* C,T0* a1){
  1485. /*IF*/if (!(r818a_then_part(C,a1))) {
  1486. r818fcp(C,((T0*)ms125_818));
  1487. }
  1488. /*FI*/while (!(!(r818a_keyword(C,((T0*)ms11_470))))) {
  1489. /*IF*/if (!(r818a_then_part(C,a1))) {
  1490. r818fcp(C,((T0*)ms126_818));
  1491. }
  1492. /*FI*/}
  1493. }
  1494. /*No:EIFFEL_PARSER.us_none*/
  1495. void r818a_assignment_aux(T818* C,int a1){
  1496. T0* _rhs=NULL;
  1497. T0* _writable=NULL;
  1498. /*IF*/if (r818a_current(C)) {
  1499. r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/));
  1500. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms36_818);
  1501. r683fatal_error(((T683*)(oBC364eh)),b1);
  1502. }/*]*/
  1503. }
  1504.  else if (r818a_void(C)) {
  1505. r683add_position(r511start_position(((T511*)(oBC818tmp_name))));
  1506. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms37_818);
  1507. r683fatal_error(((T683*)(oBC364eh)),b1);
  1508. }/*]*/
  1509. }
  1510.  else if (r818a_argument(C)) {
  1511. r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/));
  1512. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms38_818);
  1513. r683fatal_error(((T683*)(oBC364eh)),b1);
  1514. }/*]*/
  1515. }
  1516. else {
  1517. /*IF*/if (r511is_result()) {
  1518. /*IF*/if (((((T818*)C))->_function_type/*29*/)==((void*)(NULL))) {
  1519. r818error(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms152_818));
  1520. }
  1521. /*FI*/_writable=r511to_e_result(((T511*)(oBC818tmp_name)));
  1522. }
  1523.  else if (r818a_local_variable(C)) {
  1524. _writable=(((T818*)C))->_last_expression/*97*/;
  1525. }
  1526. else {
  1527. _writable=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
  1528. }
  1529. /*FI*//*IF*/if (r818a_expression(C)) {
  1530. _rhs=(((T818*)C))->_last_expression/*97*/;
  1531. /*IF*/if (a1) {
  1532. {T629*n=malloc(sizeof(*n));
  1533. *n=M629;
  1534. r629make(n,_writable,_rhs);
  1535. C->_last_instruction=(T0*)n;
  1536. }
  1537. }
  1538. else {
  1539. {T126*n=malloc(sizeof(*n));
  1540. *n=M126;
  1541. r126make(n,_writable,_rhs);
  1542. C->_last_instruction=(T0*)n;
  1543. }
  1544. }
  1545. /*FI*/}
  1546. else {
  1547. r818fcp(C,((T0*)ms39_818));
  1548. }
  1549. /*FI*/}
  1550. /*FI*/}
  1551. /*No:EIFFEL_PARSER.case_insensitive*/
  1552. /*No:EIFFEL_PARSER.fz_deferred*/
  1553. int r818a_identifier(T818* C){
  1554. int R=0;
  1555. /*IF*/if ((((T818*)C))->_case_insensitive/*0*/) {
  1556. R=r818a_identifier1(C);
  1557. }
  1558. else {
  1559. R=r818a_identifier2(C);
  1560. }
  1561. /*FI*/return R;
  1562. }
  1563. int r818a_expression(T818* C){
  1564. int R=0;
  1565. T0* _list=NULL;
  1566. T0* _sp=NULL;
  1567. /*IF*/if (r818skip2(C,'\74','\74')) {
  1568. R=1;
  1569. {T627*n=malloc(sizeof(*n));
  1570. *n=M627;
  1571. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1572. _sp=(T0*)n;
  1573. }
  1574. while (!(!(r818a_expression(C)))) {
  1575. /*IF*/if ((_list)==((void*)(NULL))) {
  1576. _list=se_ma96(1,(((T818*)C))->_last_expression/*97*/);
  1577. }
  1578. else {
  1579. X96add_last(_list,(((T818*)C))->_last_expression/*97*/);
  1580. }
  1581. /*FI*/C->_ok=r818skip1(C,'\54');
  1582. }
  1583. /*IF*/if (!(r818skip2(C,'\76','\76'))) {
  1584. r818fcp(C,((T0*)ms72_818));
  1585. }
  1586. /*FI*/{T436*n=malloc(sizeof(*n));
  1587. *n=M436;
  1588. r436make(n,_sp,_list);
  1589. C->_last_expression=(T0*)n;
  1590. }
  1591. }
  1592. else {
  1593. R=r818a_e0(C);
  1594. }
  1595. /*FI*/return R;
  1596. }
  1597. void r818a_formal_arg_list(T818* C){
  1598. int _state=0;
  1599. T0* _list=NULL;
  1600. T0* _declaration=NULL;
  1601. T0* _name_list=NULL;
  1602. T0* _name=NULL;
  1603. T0* _sp=NULL;
  1604. C->_arguments=NULL;
  1605. while (!((_state)>(5))) {
  1606. {int z1=_state;
  1607.  
  1608. if((0==z1)){
  1609. /*IF*/if (r818skip1(C,'\50')) {
  1610. {T627*n=malloc(sizeof(*n));
  1611. *n=M627;
  1612. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1613. _sp=(T0*)n;
  1614. }
  1615. _state=1;
  1616. }
  1617. else {
  1618. _state=6;
  1619. }
  1620. /*FI*/}
  1621.  else 
  1622. if((1==z1)){
  1623. /*IF*/if (r818a_identifier(C)) {
  1624. _name=r511to_argument_name1(((T511*)(oBC818tmp_name)));
  1625. _state=2;
  1626. }
  1627.  else if (r818skip1(C,'\51')) {
  1628. _state=6;
  1629. }
  1630. else {
  1631. _state=7;
  1632. }
  1633. /*FI*/}
  1634.  else 
  1635. if((2==z1)){
  1636. /*IF*/if (r818skip1(C,'\72')) {
  1637. /*IF*/if ((_name_list)!=((void*)(NULL))) {
  1638. r65add_last(((T65*)_name_list),_name);
  1639. _name=NULL;
  1640. }
  1641. /*FI*/_state=4;
  1642. }
  1643. else {
  1644. C->_ok=r818skip1(C,'\54');
  1645. /*IF*/if ((_name_list)==((void*)(NULL))) {
  1646. _name_list=se_ma65(1,_name);
  1647. }
  1648. else {
  1649. r65add_last(((T65*)_name_list),_name);
  1650. }
  1651. /*FI*/_name=NULL;
  1652. _state=3;
  1653. }
  1654. /*FI*/}
  1655.  else 
  1656. if((3==z1)){
  1657. /*IF*/if (r818a_identifier(C)) {
  1658. _name=r511to_argument_name1(((T511*)(oBC818tmp_name)));
  1659. _state=2;
  1660. }
  1661.  else if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\73'))) {
  1662. /*[IRF3.6wcp*/{T818* C1=C;
  1663. T0* b1=((T0*)ms151_818);
  1664. r818warning(r818current_position(C1),b1);
  1665. }/*]*/
  1666. C->_ok=(r818skip1(C,'\54'))||(r818skip1(C,'\73'));
  1667. }
  1668. else {
  1669. _state=7;
  1670. }
  1671. /*FI*/}
  1672.  else 
  1673. if((4==z1)){
  1674. /*IF*/if (r818a_type(C)) {
  1675. /*IF*/if ((_name_list)!=((void*)(NULL))) {
  1676. {T64*n=malloc(sizeof(*n));
  1677. *n=M64;
  1678. r64make(n,_name_list,(((T818*)C))->_last_type/*157*/);
  1679. _declaration=(T0*)n;
  1680. }
  1681. _name_list=NULL;
  1682. }
  1683. else {
  1684. {T723*n=malloc(sizeof(*n));
  1685. *n=M723;
  1686. r723make(n,_name,(((T818*)C))->_last_type/*157*/);
  1687. _declaration=(T0*)n;
  1688. }
  1689. _name=NULL;
  1690. }
  1691. /*FI*//*IF*/if ((_list)==((void*)(NULL))) {
  1692. _list=se_ma382(1,_declaration);
  1693. }
  1694. else {
  1695. r382add_last(((T382*)_list),_declaration);
  1696. }
  1697. /*FI*/_declaration=NULL;
  1698. _state=5;
  1699. }
  1700. else {
  1701. _state=7;
  1702. }
  1703. /*FI*/}
  1704.  else{/*IF*/if (r818skip1(C,'\51')) {
  1705. _state=6;
  1706. }
  1707.  else if (((((T818*)C))->_cc/*24*/)==('\54')) {
  1708. /*[IRF3.6wcp*/{T818* C1=C;
  1709. T0* b1=((T0*)ms13_818);
  1710. r818warning(r818current_position(C1),b1);
  1711. }/*]*/
  1712. C->_ok=r818skip1(C,'\54');
  1713. _state=1;
  1714. }
  1715. else {
  1716. C->_ok=r818skip1(C,'\73');
  1717. _state=1;
  1718. }
  1719. /*FI*/}}
  1720. }
  1721. /*IF*/if ((_state)==(7)) {
  1722. r818fcp(C,((T0*)ms14_818));
  1723. }
  1724.  else if (((_sp)!=((void*)(NULL)))&&((_list)==((void*)(NULL)))) {
  1725. r818warning(_sp,((T0*)ms15_818));
  1726. }
  1727.  else if ((_sp)!=((void*)(NULL))) {
  1728. {T31*n=malloc(sizeof(*n));
  1729. *n=M31;
  1730. r31make(n,_sp,_list);
  1731. C->_arguments=(T0*)n;
  1732. }
  1733. /*[IRF3.3set_arguments*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_arguments)=((((T818*)C))->_arguments/*45*/);
  1734. /*]*/
  1735. }
  1736. /*FI*/}
  1737. /*No:EIFFEL_PARSER.fz_end*/
  1738. /*No:EIFFEL_PARSER.fz_else*/
  1739. /*No:EIFFEL_PARSER.last_class_name*/
  1740. int r818a_type_formal_generic(T818* C){
  1741. int R=0;
  1742. int _rank=0;
  1743. T0* _cn=NULL;
  1744. T0* _fga=NULL;
  1745. /*IF*/if (((((T818*)C))->_formal_generic_list/*33*/)!=((void*)(NULL))) {
  1746. _rank=1;
  1747. while (!((R)||((_rank)>(/*(IRF4.6count*/(((T681*)((T681*)((((T881*)((T881*)((((T818*)C))->_formal_generic_list/*33*/))))->_list/*4*/))))->_upper/*8*//*)*/)))) {
  1748. _fga=/*(IRF4.6item*/r681item(((T681*)((((T881*)((T881*)((((T818*)C))->_formal_generic_list/*33*/))))->_list/*4*/)),_rank)/*)*/;
  1749. /*IF*/if (r818a_keyword(C,(((T451*)((T451*)((((T59*)((T59*)_fga)))->_name/*0*/))))->_to_string/*0*/)) {
  1750. {T451*n=malloc(sizeof(*n));
  1751. *n=M451;
  1752. r451make(n,(((T451*)((T451*)((((T59*)((T59*)_fga)))->_name/*0*/))))->_to_string/*0*/,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1753. _cn=(T0*)n;
  1754. }
  1755. {T283*n=malloc(sizeof(*n));
  1756. *n=M283;
  1757. r283make(n,_cn,_rank);
  1758. C->_last_type_formal_generic=(T0*)n;
  1759. }
  1760. R=1;
  1761. }
  1762. /*FI*/_rank=(_rank)+(1);
  1763. }
  1764. }
  1765. /*FI*/return R;
  1766. }
  1767. /*No:EIFFEL_PARSER.last_infix*/
  1768. int r818a_feature_name(T818* C){
  1769. int R=0;
  1770. /*IF*/if (r818a_prefix(C)) {
  1771. C->_last_feature_name=(((T818*)C))->_last_prefix/*125*/;
  1772. R=1;
  1773. }
  1774.  else if (r818a_infix(C)) {
  1775. C->_last_feature_name=(((T818*)C))->_last_infix/*121*/;
  1776. R=1;
  1777. }
  1778.  else if (r818a_identifier(C)) {
  1779. C->_last_feature_name=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
  1780. R=1;
  1781. }
  1782. /*FI*/return R;
  1783. }
  1784. /*No:EIFFEL_PARSER.us_and*/
  1785. void r818a_feature_clause(T818* C){
  1786. T0* _comment=NULL;
  1787. T0* _clients=NULL;
  1788. T0* _feature_clause=NULL;
  1789. _clients=r818a_clients(C);
  1790. _comment=r818get_comments(C);
  1791. /*[IRF3.3clear*/((((T352*)(((T352*)(oBC818faof)))))->_upper)=(-(1));
  1792. /*]*/
  1793. while (!(!(r818a_feature_declaration(C)))) {
  1794. C->_ok=r818skip1(C,'\73');
  1795. /*IF*/if (((((T818*)C))->_last_feature_declaration/*101*/)!=((void*)(NULL))) {
  1796. r352add_last(((T352*)(oBC818faof)),(((T818*)C))->_last_feature_declaration/*101*/);
  1797. X359set_header_comment((((T818*)C))->_last_feature_declaration/*101*/,r818get_comments(C));
  1798. }
  1799. /*FI*/}
  1800. /*IF*/if (((((T352*)((T352*)(oBC818faof))))->_upper/*8*/)>=(0)) {
  1801. {T153*n=malloc(sizeof(*n));
  1802. *n=M153;
  1803. r153make(n,_clients,_comment,r352twin(((T352*)(oBC818faof))));
  1804. _feature_clause=(T0*)n;
  1805. }
  1806. r605add_feature_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_feature_clause);
  1807. }
  1808.  else if ((_comment)!=((void*)(NULL))) {
  1809. {T153*n=malloc(sizeof(*n));
  1810. *n=M153;
  1811. r153make(n,_clients,_comment,NULL);
  1812. _feature_clause=(T0*)n;
  1813. }
  1814. r605add_feature_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_feature_clause);
  1815. }
  1816. /*FI*/C->_last_keyword=NULL;
  1817. }
  1818. /*No:EIFFEL_PARSER.in_rescue*/
  1819. /*No:EIFFEL_PARSER.us_and_then*/
  1820. int r818a_manifest_constant(T818* C){
  1821. int R=0;
  1822. /*IF*/if (r818a_boolean_constant(C)) {
  1823. C->_last_manifest_constant=(((T818*)C))->_last_boolean_constant/*81*/;
  1824. R=1;
  1825. }
  1826.  else if (r818a_character_constant(C)) {
  1827. C->_last_manifest_constant=(((T818*)C))->_last_character_constant/*85*/;
  1828. R=1;
  1829. }
  1830.  else if (r818a_manifest_string(C)) {
  1831. C->_last_manifest_constant=(((T818*)C))->_last_manifest_string/*145*/;
  1832. R=1;
  1833. }
  1834.  else if (r818a_bit_constant(C)) {
  1835. C->_last_manifest_constant=(((T818*)C))->_last_bit_constant/*77*/;
  1836. R=1;
  1837. }
  1838.  else if (r818a_real_constant(C)) {
  1839. C->_last_manifest_constant=(((T818*)C))->_last_real_constant/*153*/;
  1840. R=1;
  1841. }
  1842.  else if (r818a_integer_constant(C)) {
  1843. C->_last_manifest_constant=(((T818*)C))->_last_integer_constant/*129*/;
  1844. R=1;
  1845. }
  1846. /*FI*/return R;
  1847. }
  1848. /*No:EIFFEL_PARSER.last_instruction*/
  1849. int r818a_bit_constant(T818* C){
  1850. int R=0;
  1851. int _state=0;
  1852. int _c=0;
  1853. int _l=0;
  1854. /*IF*/if ((((((T818*)C))->_cc/*24*/)==('0'))||(((((T818*)C))->_cc/*24*/)==('1'))) {
  1855. _l=(((T818*)C))->_line/*16*/;
  1856. _c=(((T818*)C))->_column/*12*/;
  1857. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC818tmp_string)))))->_count)=(0);
  1858. /*]*/
  1859. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  1860. while (!((_state)>(0))) {
  1861. r818next_char(C);
  1862. {int z1=(((T818*)C))->_cc/*24*/;
  1863.  
  1864. if(((48<=z1)&&(z1<=49))){
  1865. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  1866. }
  1867.  else 
  1868. if((66==z1)||(98==z1)){
  1869. {T940*n=malloc(sizeof(*n));
  1870. *n=M940;
  1871. r940make(n,r818pos(_l,_c),r7twin(((T7*)(oBC818tmp_string))));
  1872. C->_last_bit_constant=(T0*)n;
  1873. }
  1874. r818next_char(C);
  1875. r818skip_comments(C);
  1876. _state=1;
  1877. R=1;
  1878. }
  1879.  else{r818go_back_at(C,_l,_c);
  1880. _state=2;
  1881. }}
  1882. }
  1883. }
  1884. /*FI*/return R;
  1885. }
  1886. T0*oBC818faof=NULL;
  1887. /*No:EIFFEL_PARSER.fz_jvm_invokestatic*/
  1888. int r818a_index_clause(T818* C){
  1889. int R=0;
  1890. T0* _index_clause=NULL;
  1891. /*IF*/if (r818a_identifier(C)) {
  1892. R=1;
  1893. /*IF*/if (r818skip1(C,'\72')) {
  1894. {T782*n=malloc(sizeof(*n));
  1895. *n=M782;
  1896. /*[IRF3.3make*/((((T782*)(n)))->_index)=(r511to_string(((T511*)(oBC818tmp_name))));
  1897. /*]*/
  1898. _index_clause=(T0*)n;
  1899. }
  1900. /*IF*/if (r818a_index_value(C)) {
  1901. r782add_index_value(((T782*)_index_clause),(((T818*)C))->_last_index_value/*137*/);
  1902. }
  1903. else {
  1904. r818fcp(C,((T0*)ms141_818));
  1905. }
  1906. /*FI*/}
  1907. else {
  1908. {T782*n=malloc(sizeof(*n));
  1909. *n=M782;
  1910. /*[IRF3.3make*/((((T782*)(n)))->_index)=(NULL);
  1911. /*]*/
  1912. _index_clause=(T0*)n;
  1913. }
  1914. r782add_index_value(((T782*)_index_clause),r511to_simple_feature_name(((T511*)(oBC818tmp_name))));
  1915. }
  1916. /*FI*/}
  1917.  else if (r818a_manifest_constant(C)) {
  1918. R=1;
  1919. {T782*n=malloc(sizeof(*n));
  1920. *n=M782;
  1921. /*[IRF3.3make*/((((T782*)(n)))->_index)=(NULL);
  1922. /*]*/
  1923. _index_clause=(T0*)n;
  1924. }
  1925. r782add_index_value(((T782*)_index_clause),(((T818*)C))->_last_manifest_constant/*141*/);
  1926. }
  1927. /*FI*//*IF*/if (R) {
  1928. while (!(!(r818skip1(C,'\54')))) {
  1929. /*IF*/if (r818a_index_value(C)) {
  1930. r782add_index_value(((T782*)_index_clause),(((T818*)C))->_last_index_value/*137*/);
  1931. }
  1932. else {
  1933. r818fcp(C,((T0*)ms141_818));
  1934. }
  1935. /*FI*/}
  1936. r605add_index_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_index_clause);
  1937. }
  1938. /*FI*/return R;
  1939. }
  1940. /*No:EIFFEL_PARSER.line*/
  1941. /*No:EIFFEL_PARSER.make*/
  1942. /*No:EIFFEL_PARSER.last_index_value*/
  1943. /*No:EIFFEL_PARSER.show_nb_warnings*/
  1944. /*No:EIFFEL_PARSER.fz_rescue*/
  1945. int r818a_infix(T818* C){
  1946. int R=0;
  1947. T0* _sp=NULL;
  1948. /*IF*/if (r818a_keyword(C,((T0*)ms23_470))) {
  1949. R=1;
  1950. {T627*n=malloc(sizeof(*n));
  1951. *n=M627;
  1952. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1953. _sp=(T0*)n;
  1954. }
  1955. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\42')) {
  1956. r818next_char(C);
  1957. }
  1958. else {
  1959. /*[IRF3.6wcp*/{T818* C1=C;
  1960. T0* b1=((T0*)ms96_818);
  1961. r818warning(r818current_position(C1),b1);
  1962. }/*]*/
  1963. }
  1964. /*FI*//*IF*/if (r818a_binary(C,_sp)) {
  1965. C->_last_infix=(((T818*)C))->_last_binary/*73*/;
  1966. }
  1967.  else if (r818a_free_operator(C)) {
  1968. C->_last_infix=r511to_infix_name(_sp);
  1969. }
  1970. else {
  1971. r818fcp(C,((T0*)ms97_818));
  1972. }
  1973. /*FI*//*IF*/if (!(r818skip1(C,'\42'))) {
  1974. /*[IRF3.6wcp*/{T818* C1=C;
  1975. T0* b1=((T0*)ms98_818);
  1976. r818warning(r818current_position(C1),b1);
  1977. }/*]*/
  1978. }
  1979. /*FI*/}
  1980. /*FI*/return R;
  1981. }
  1982. T0* r818a_actuals(T818* C){
  1983. T0* R=NULL;
  1984. T0* _args=NULL;
  1985. /*IF*/if (r818skip1(C,'\50')) {
  1986. while (!(!(r818a_actual(C)))) {
  1987. /*IF*/if ((_args)==((void*)(NULL))) {
  1988. _args=se_ma96(1,(((T818*)C))->_last_expression/*97*/);
  1989. }
  1990. else {
  1991. X96add_last(_args,(((T818*)C))->_last_expression/*97*/);
  1992. }
  1993. /*FI*//*IF*/if ((!(r818skip1(C,'\54')))&&(((((T818*)C))->_cc/*24*/)!=('\51'))) {
  1994. /*[IRF3.6wcp*/{T818* C1=C;
  1995. T0* b1=((T0*)ms143_818);
  1996. r818warning(r818current_position(C1),b1);
  1997. }/*]*/
  1998. }
  1999. /*FI*/}
  2000. /*IF*/if ((_args)==((void*)(NULL))) {
  2001. /*[IRF3.6wcp*/{T818* C1=C;
  2002. T0* b1=((T0*)ms31_818);
  2003. r818warning(r818current_position(C1),b1);
  2004. }/*]*/
  2005. }
  2006. else {
  2007. {T431*n=malloc(sizeof(*n));
  2008. *n=M431;
  2009. /*[IRF3.3make*/((((T431*)(n)))->_list)=(_args);
  2010. /*]*/
  2011. R=(T0*)n;
  2012. }
  2013. }
  2014. /*FI*//*IF*/if (!(r818skip1(C,'\51'))) {
  2015. r818fcp(C,((T0*)ms32_818));
  2016. }
  2017. /*FI*/}
  2018. /*FI*/return R;
  2019. }
  2020. /*No:EIFFEL_PARSER.us_pointer*/
  2021. /*No:EIFFEL_PARSER.fz_iinaiv*/
  2022. int r818a_actual(T818* C){
  2023. int R=0;
  2024. /*IF*/if (r818skip1(C,'\44')) {
  2025. /*IF*/if (r818a_identifier(C)) {
  2026. /*IF*/if (((r818a_result(C))||(r818a_void(C)))||(r818a_current(C))) {
  2027. r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/));
  2028. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms155_818);
  2029. r683fatal_error(((T683*)(oBC364eh)),b1);
  2030. }/*]*/
  2031. }
  2032. else {
  2033. {T708*n=malloc(sizeof(*n));
  2034. *n=M708;
  2035. /*[IRF3.3make*/((((T708*)(n)))->_feature_name)=(r511to_simple_feature_name(((T511*)(oBC818tmp_name))));
  2036. /*]*/
  2037. C->_last_expression=(T0*)n;
  2038. }
  2039. R=1;
  2040. }
  2041. /*FI*/}
  2042. else {
  2043. r818fcp(C,((T0*)ms155_818));
  2044. }
  2045. /*FI*/}
  2046.  else if (r818a_expression(C)) {
  2047. R=1;
  2048. }
  2049. /*FI*/return R;
  2050. }
  2051. /*No:EIFFEL_PARSER.us_string*/
  2052. /*No:EIFFEL_PARSER.local_vars*/
  2053. void r818a_base_class_name1(T818* C){
  2054. T0* _ccn=NULL;
  2055. int _do_warning=0;
  2056. int _state=0;
  2057. _ccn=(((T605*)((T605*)((((T818*)C))->_last_base_class/*65*/))))->_base_class_name/*24*/;
  2058. /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) {
  2059. r627set_line_column(((T627*)((((T451*)((T451*)_ccn)))->_start_position/*4*/)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/);
  2060. r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/);
  2061. /*IF*/if ((((unsigned)((((T818*)C))->_cc/*24*/))>=((unsigned)('a')))) {
  2062. _do_warning=1;
  2063. C->_cc=r3to_upper((((T818*)C))->_cc/*24*/);
  2064. }
  2065. /*FI*//*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  2066. r7extend(((T7*)(oBC511tmp_string)),b1);
  2067. }/*]*/
  2068. while (!((_state)>(0))) {
  2069. r818next_char(C);
  2070. {int z1=(((T818*)C))->_cc/*24*/;
  2071.  
  2072. if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)){
  2073. /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  2074. r7extend(((T7*)(oBC511tmp_string)),b1);
  2075. }/*]*/
  2076. }
  2077.  else 
  2078. if(((97<=z1)&&(z1<=122))){
  2079. _do_warning=1;
  2080. /*[IRF3.6extend*/{char b1=r3to_upper((((T818*)C))->_cc/*24*/);
  2081. r7extend(((T7*)(oBC511tmp_string)),b1);
  2082. }/*]*/
  2083. }
  2084.  else{_state=1;
  2085. }}
  2086. }
  2087. r818skip_comments(C);
  2088. /*IF*/if (r511isa_keyword()) {
  2089. r683add_position((((T451*)((T451*)_ccn)))->_start_position/*4*/);
  2090. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms154_818);
  2091. r683fatal_error(((T683*)(oBC364eh)),b1);
  2092. }/*]*/
  2093. }
  2094. /*FI*//*IF*/if (_do_warning) {
  2095. r818warning((((T451*)((T451*)_ccn)))->_start_position/*4*/,((T0*)ms153_818));
  2096. }
  2097. /*FI*/r451identify(((T451*)_ccn),r511to_string(((T511*)(oBC818tmp_name))));
  2098. }
  2099. else {
  2100. r818fcp(C,((T0*)ms154_818));
  2101. }
  2102. /*FI*//*IF*/if (r52fast_has(((T52*)(oBC818forbidden_class)),(((T451*)((T451*)_ccn)))->_to_string/*0*/)) {
  2103. r683add_position((((T451*)((T451*)_ccn)))->_start_position/*4*/);
  2104. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms25_818);
  2105. r683fatal_error(((T683*)(oBC364eh)),b1);
  2106. }/*]*/
  2107. }
  2108. /*FI*/}
  2109. int r818a_strip(T818* C){
  2110. int R=0;
  2111. T0* _sp=NULL;
  2112. /*IF*/if (r818a_keyword(C,((T0*)ms45_470))) {
  2113. {T627*n=malloc(sizeof(*n));
  2114. *n=M627;
  2115. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  2116. _sp=(T0*)n;
  2117. }
  2118. /*IF*/if (r818skip1(C,'\50')) {
  2119. C->_ok=r818a_feature_list(C);
  2120. {T420*n=malloc(sizeof(*n));
  2121. *n=M420;
  2122. r420make(n,_sp,(((T818*)C))->_last_feature_list/*105*/);
  2123. C->_last_expression=(T0*)n;
  2124. }
  2125. /*IF*/if (!(r818skip1(C,'\51'))) {
  2126. r818fcp(C,((T0*)ms123_818));
  2127. }
  2128. /*FI*/R=1;
  2129. }
  2130. else {
  2131. r818fcp(C,((T0*)ms124_818));
  2132. }
  2133. /*FI*/}
  2134. /*FI*/return R;
  2135. }
  2136. /*No:EIFFEL_PARSER.fz_external*/
  2137. T0* r818a_compound1(T818* C,T0* a1){
  2138. T0* R=NULL;
  2139. T0* _instruction=NULL;
  2140. T0* _list=NULL;
  2141. T0* _hc=NULL;
  2142. _hc=r818get_comments(C);
  2143. while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) {
  2144. /*[IRF3.6wcp*/{T818* C1=C;
  2145. T0* b1=((T0*)ms68_470);
  2146. r818warning(r818current_position(C1),b1);
  2147. }/*]*/
  2148. C->_ok=r818skip1(C,'\73');
  2149. }
  2150. while (!((!(r818a_instruction(C)))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
  2151. _instruction=(((T818*)C))->_last_instruction/*133*/;
  2152. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\50')) {
  2153. /*[IRF3.6wcp*/{T818* C1=C;
  2154. T0* b1=((T0*)ms144_818);
  2155. r818warning(r818current_position(C1),b1);
  2156. }/*]*/
  2157. }
  2158. /*FI*/C->_ok=r818skip1(C,'\73');
  2159. while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) {
  2160. /*[IRF3.6wcp*/{T818* C1=C;
  2161. T0* b1=((T0*)ms68_470);
  2162. r818warning(r818current_position(C1),b1);
  2163. }/*]*/
  2164. C->_ok=r818skip1(C,'\73');
  2165. }
  2166. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  2167. /*IF*/if ((_list)==((void*)(NULL))) {
  2168. _list=se_ma419(1,X465add_comment(_instruction,r818get_comments(C)));
  2169. }
  2170. else {
  2171. r419add_last(((T419*)_list),X465add_comment(_instruction,r818get_comments(C)));
  2172. }
  2173. /*FI*/}
  2174. /*FI*/}
  2175. /*IF*/if (((_hc)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))) {
  2176. {T592*n=malloc(sizeof(*n));
  2177. *n=M592;
  2178. r592make(n,_hc,_list);
  2179. R=(T0*)n;
  2180. }
  2181. }
  2182. /*FI*/return R;
  2183. }
  2184. /*No:EIFFEL_PARSER.fz_prefix*/
  2185. /*No:EIFFEL_PARSER.fz_all*/
  2186. /*No:EIFFEL_PARSER.column*/
  2187. int r818a_loop(T818* C){
  2188. int R=0;
  2189. T0* _al=NULL;
  2190. T0* _hc=NULL;
  2191. T0* _lb=NULL;
  2192. T0* _ue=NULL;
  2193. T0* _vc=NULL;
  2194. T0* _ic=NULL;
  2195. T0* _i=NULL;
  2196. T0* _e_loop=NULL;
  2197. int _c2=0;
  2198. int _l2=0;
  2199. int _c1=0;
  2200. int _l1=0;
  2201. /*IF*/if (r818a_keyword(C,((T0*)ms19_470))) {
  2202. R=1;
  2203. _l1=(((T818*)C))->_start_line/*169*/;
  2204. _c1=(((T818*)C))->_start_column/*165*/;
  2205. _i=r818a_compound1(C,((T0*)ms102_818));
  2206. /*IF*/if (r818a_keyword(C,((T0*)ms26_470))) {
  2207. _l2=(((T818*)C))->_start_line/*169*/;
  2208. _c2=(((T818*)C))->_start_column/*165*/;
  2209. _hc=r818get_comments(C);
  2210. _al=r818a_assertion(C);
  2211. /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) {
  2212. {T213*n=malloc(sizeof(*n));
  2213. *n=M213;
  2214. r213make(n,r818pos(_l2,_c2),_hc,_al);
  2215. _ic=(T0*)n;
  2216. }
  2217. }
  2218. /*FI*/}
  2219. /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms51_470))) {
  2220. /*IF*/if ((r818a_tag_mark(C))&&(r818a_expression(C))) {
  2221. {T158*n=malloc(sizeof(*n));
  2222. *n=M158;
  2223. r158make(n,(((T818*)C))->_last_tag_mark/*161*/,(((T818*)C))->_last_expression/*97*/,r818get_comments(C));
  2224. _vc=(T0*)n;
  2225. }
  2226. }
  2227.  else if (r818a_expression(C)) {
  2228. {T145*n=malloc(sizeof(*n));
  2229. *n=M145;
  2230. r145make(n,(((T818*)C))->_last_expression/*97*/,r818get_comments(C));
  2231. _vc=(T0*)n;
  2232. }
  2233. }
  2234. else {
  2235. /*[IRF3.6wcp*/{T818* C1=C;
  2236. T0* b1=((T0*)ms103_818);
  2237. r818warning(r818current_position(C1),b1);
  2238. }/*]*/
  2239. }
  2240. /*FI*/}
  2241. /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms50_470))) {
  2242. /*IF*/if (r818a_expression(C)) {
  2243. _ue=X662add_comment((((T818*)C))->_last_expression/*97*/,r818get_comments(C));
  2244. }
  2245. else {
  2246. r818fcp(C,((T0*)ms104_818));
  2247. _ue=(((T818*)C))->_last_expression/*97*/;
  2248. }
  2249. /*FI*/}
  2250. else {
  2251. r818fcp(C,((T0*)ms105_818));
  2252. _ue=(((T818*)C))->_last_expression/*97*/;
  2253. }
  2254. /*FI*//*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) {
  2255. /*[IRF3.6wcp*/{T818* C1=C;
  2256. T0* b1=((T0*)ms68_470);
  2257. r818warning(r818current_position(C1),b1);
  2258. }/*]*/
  2259. C->_ok=r818skip1(C,'\73');
  2260. }
  2261. /*FI*//*IF*/if (!(r818a_keyword(C,((T0*)ms32_470)))) {
  2262. /*[IRF3.6wcp*/{T818* C1=C;
  2263. T0* b1=((T0*)ms106_818);
  2264. r818warning(r818current_position(C1),b1);
  2265. }/*]*/
  2266. }
  2267. /*FI*/_lb=r818a_compound2(C,((T0*)ms107_818),((T0*)ms12_470));
  2268. {T880*n=malloc(sizeof(*n));
  2269. *n=M880;
  2270. r880make(n,r818pos(_l1,_c1),_i,_ic,_vc,_ue,_lb);
  2271. _e_loop=(T0*)n;
  2272. }
  2273. C->_last_instruction=_e_loop;
  2274. }
  2275. /*FI*/return R;
  2276. }
  2277. /*No:EIFFEL_PARSER.fz_feature*/
  2278. /*No:EIFFEL_PARSER.fz_true*/
  2279. int r818a_local_variable(T818* C){
  2280. int R=0;
  2281. int _rank=0;
  2282. /*IF*/if (((((T818*)C))->_local_vars/*49*/)!=((void*)(NULL))) {
  2283. _rank=r620rank_of(((T620*)((((T818*)C))->_local_vars/*49*/)),r511to_string(((T511*)(oBC818tmp_name))));
  2284. /*IF*/if ((_rank)>(0)) {
  2285. C->_last_expression=r511to_local_name2(((T511*)(oBC818tmp_name)),(((T818*)C))->_local_vars/*49*/,_rank);
  2286. R=1;
  2287. }
  2288. /*FI*/}
  2289. /*FI*/return R;
  2290. }
  2291. /*No:EIFFEL_PARSER.start_column*/
  2292. /*No:EIFFEL_PARSER.us_ge*/
  2293. /*No:EIFFEL_PARSER.us_neq*/
  2294. int r818skip1unless2(T818* C,char a1,char a2){
  2295. int R=0;
  2296. C->_start_line=(((T818*)C))->_line/*16*/;
  2297. C->_start_column=(((T818*)C))->_column/*12*/;
  2298. /*IF*/if (((((T818*)C))->_cc/*24*/)==(a1)) {
  2299. r818next_char(C);
  2300. /*IF*/if (((((T818*)C))->_cc/*24*/)==(a2)) {
  2301. r818prev_char(C);
  2302. }
  2303. else {
  2304. R=1;
  2305. r818skip_comments(C);
  2306. }
  2307. /*FI*/}
  2308. /*FI*/return R;
  2309. }
  2310. /*No:EIFFEL_PARSER.fz_if*/
  2311. T0* r818a_compound2(T818* C,T0* a1,T0* a2){
  2312. T0* R=NULL;
  2313. T0* _instruction=NULL;
  2314. T0* _list=NULL;
  2315. T0* _hc=NULL;
  2316. _hc=r818get_comments(C);
  2317. while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) {
  2318. /*[IRF3.6wcp*/{T818* C1=C;
  2319. T0* b1=((T0*)ms68_470);
  2320. r818warning(r818current_position(C1),b1);
  2321. }/*]*/
  2322. C->_ok=r818skip1(C,'\73');
  2323. }
  2324. while (!((!(r818a_instruction(C)))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
  2325. _instruction=(((T818*)C))->_last_instruction/*133*/;
  2326. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\50')) {
  2327. /*[IRF3.6wcp*/{T818* C1=C;
  2328. T0* b1=((T0*)ms144_818);
  2329. r818warning(r818current_position(C1),b1);
  2330. }/*]*/
  2331. }
  2332. /*FI*/C->_ok=r818skip1(C,'\73');
  2333. while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) {
  2334. /*[IRF3.6wcp*/{T818* C1=C;
  2335. T0* b1=((T0*)ms68_470);
  2336. r818warning(r818current_position(C1),b1);
  2337. }/*]*/
  2338. C->_ok=r818skip1(C,'\73');
  2339. }
  2340. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  2341. /*IF*/if ((_list)==((void*)(NULL))) {
  2342. _list=se_ma419(1,X465add_comment(_instruction,r818get_comments(C)));
  2343. }
  2344. else {
  2345. r419add_last(((T419*)_list),X465add_comment(_instruction,r818get_comments(C)));
  2346. }
  2347. /*FI*/}
  2348. /*FI*/}
  2349. /*IF*/if (!(r818a_keyword(C,a2))) {
  2350. /*[IRF3.6append*/{T0* b1=((T0*)ms57_818);
  2351. r7append(((T7*)(oBC683explanation)),b1);
  2352. }/*]*/
  2353. /*[IRF3.6append*/{T0* b1=a1;
  2354. r7append(((T7*)(oBC683explanation)),b1);
  2355. }/*]*/
  2356. /*[IRF3.6append*/{T0* b1=((T0*)ms58_818);
  2357. r7append(((T7*)(oBC683explanation)),b1);
  2358. }/*]*/
  2359. /*[IRF3.6append*/{T0* b1=a2;
  2360. r7append(((T7*)(oBC683explanation)),b1);
  2361. }/*]*/
  2362. r818fcp(C,((T0*)ms59_818));
  2363. }
  2364. /*FI*//*IF*/if (((_hc)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))) {
  2365. {T592*n=malloc(sizeof(*n));
  2366. *n=M592;
  2367. r592make(n,_hc,_list);
  2368. R=(T0*)n;
  2369. }
  2370. }
  2371. /*FI*/return R;
  2372. }
  2373. int r818a_rename_pair(T818* C){
  2374. int R=0;
  2375. T0* _rename_pair=NULL;
  2376. T0* _name1=NULL;
  2377. /*IF*/if (r818a_feature_name(C)) {
  2378. _name1=(((T818*)C))->_last_feature_name/*109*/;
  2379. /*IF*/if (r818a_keyword(C,((T0*)ms3_470))) {
  2380. /*IF*/if (r818a_feature_name(C)) {
  2381. R=1;
  2382. {T498*n=malloc(sizeof(*n));
  2383. *n=M498;
  2384. r498make(n,_name1,(((T818*)C))->_last_feature_name/*109*/);
  2385. _rename_pair=(T0*)n;
  2386. }
  2387. r877add_rename(((T877*)((((T818*)C))->_last_parent/*149*/)),_rename_pair);
  2388. }
  2389. else {
  2390. r818fcp(C,((T0*)ms113_818));
  2391. }
  2392. /*FI*/}
  2393. else {
  2394. /*[IRF3.6go_back*/{T818* C1=C;
  2395. T0* b1=X776start_position(_name1);
  2396. r818go_back_at(C1,/*(IRF4.6line*/((((T627*)((T627*)b1)))->_mem_line_column/*4*/)/(1000)/*)*/,/*(IRF4.6column*/((((T627*)((T627*)b1)))->_mem_line_column/*4*/)%(1000)/*)*/);
  2397. }/*]*/
  2398. }
  2399. /*FI*/}
  2400. /*FI*/return R;
  2401. }
  2402. /*No:EIFFEL_PARSER.us_slash*/
  2403. /*No:EIFFEL_PARSER.fz_alias*/
  2404. /*No:EIFFEL_PARSER.fz_debug*/
  2405. int r818a_keyword(T818* C,T0* a1){
  2406. int R=0;
  2407. int _keyword_count=0;
  2408. int _i=0;
  2409. _keyword_count=(((T7*)((T7*)a1)))->_count/*4*/;
  2410. C->_start_line=(((T818*)C))->_line/*16*/;
  2411. C->_start_column=(((T818*)C))->_column/*12*/;
  2412. while (!(((_i)==(_keyword_count))||(!(r3same_as((((T818*)C))->_cc/*24*/,/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[((_i)+(1))-(1)]/*)*/))))) {
  2413. _i=(_i)+(1);
  2414. r818next_char(C);
  2415. }
  2416. /*IF*/if ((_i)==(_keyword_count)) {
  2417. {int z1=(((T818*)C))->_cc/*24*/;
  2418.  
  2419. if(((9<=z1)&&(z1<=10))||(32==z1)||(45==z1)){
  2420. R=1;
  2421. C->_last_keyword=a1;
  2422. r818skip_comments(C);
  2423. }
  2424.  else 
  2425. if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)||((97<=z1)&&(z1<=122))){
  2426. while (!((_i)==(0))) {
  2427. r818prev_char(C);
  2428. _i=(_i)-(1);
  2429. }
  2430. }
  2431.  else{R=1;
  2432. C->_last_keyword=a1;
  2433. }}
  2434. }
  2435. else {
  2436. while (!((_i)==(0))) {
  2437. r818prev_char(C);
  2438. _i=(_i)-(1);
  2439. }
  2440. }
  2441. /*FI*/return R;
  2442. }
  2443. /*No:EIFFEL_PARSER.us_character*/
  2444. /*No:EIFFEL_PARSER.us_le*/
  2445. /*No:EIFFEL_PARSER.fz_from*/
  2446. /*No:EIFFEL_PARSER.last_keyword*/
  2447. /*No:EIFFEL_PARSER.fz_unique*/
  2448. /*No:EIFFEL_PARSER.fz_loop*/
  2449. /*No:EIFFEL_PARSER.em1*/
  2450. /*No:EIFFEL_PARSER.fz_do*/
  2451. int r818a_unary(T818* C){
  2452. int R=0;
  2453. /*IF*/if (r818a_keyword(C,((T0*)ms40_473))) {
  2454. {T406*n=malloc(sizeof(*n));
  2455. *n=M406;
  2456. r406make(n,((T0*)ms40_473),r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  2457. C->_last_prefix=(T0*)n;
  2458. }
  2459. R=1;
  2460. }
  2461.  else if (r818skip1(C,'\53')) {
  2462. {T406*n=malloc(sizeof(*n));
  2463. *n=M406;
  2464. r406make(n,((T0*)ms43_473),r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  2465. C->_last_prefix=(T0*)n;
  2466. }
  2467. R=1;
  2468. }
  2469.  else if (r818skip1(C,'\55')) {
  2470. {T406*n=malloc(sizeof(*n));
  2471. *n=M406;
  2472. r406make(n,((T0*)ms37_473),r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  2473. C->_last_prefix=(T0*)n;
  2474. }
  2475. R=1;
  2476. }
  2477. /*FI*/return R;
  2478. }
  2479. /*No:EIFFEL_PARSER.em2*/
  2480. /*No:EIFFEL_PARSER.last_feature_declaration*/
  2481. /*No:EIFFEL_PARSER.em3*/
  2482. /*No:EIFFEL_PARSER.fz_c_inlinewithoutcurrent*/
  2483. /*No:EIFFEL_PARSER.fz_obsolete*/
  2484. /*No:EIFFEL_PARSER.em4*/
  2485. /*No:EIFFEL_PARSER.fz_se*/
  2486. void r818go_back_at(T818* C,int a1,int a2){
  2487. C->_line=a1;
  2488. C->_column=a2;
  2489. C->_current_line=r676item((((T818*)C))->_line/*16*/);
  2490. /*IF*/if (((((T818*)C))->_column/*12*/)==(((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)+(1))) {
  2491. C->_cc='\n';
  2492. }
  2493.  else if (((((T818*)C))->_column/*12*/)==(0)) {
  2494. C->_cc='\0';
  2495. }
  2496. else {
  2497. C->_cc=/*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[((((T818*)C))->_column/*12*/)-(1)]/*)*/;
  2498. }
  2499. /*FI*/}
  2500. void r818a_ascii_code(T818* C){
  2501. int _counter=0;
  2502. r818next_char(C);
  2503. _counter=0;
  2504. C->_last_ascii_code=0;
  2505. while (!(((_counter)>(3))||(((((T818*)C))->_cc/*24*/)==('\57')))) {
  2506. {int z1=(((T818*)C))->_cc/*24*/;
  2507.  
  2508. if(((48<=z1)&&(z1<=57))){
  2509. C->_last_ascii_code=(((((T818*)C))->_last_ascii_code/*61*/)*(10))+(r3value((((T818*)C))->_cc/*24*/));
  2510. }
  2511.  else{r818fcp(C,((T0*)ms21_818));
  2512. }}
  2513. _counter=(_counter)+(1);
  2514. r818next_char(C);
  2515. }
  2516. /*IF*/if ((_counter)==(0)) {
  2517. r818fcp(C,((T0*)ms22_818));
  2518. }
  2519.  else if ((_counter)>(3)) {
  2520. r818fcp(C,((T0*)ms23_818));
  2521. }
  2522. else {
  2523. }
  2524. /*FI*/}
  2525. /*No:EIFFEL_PARSER.fz_as*/
  2526. /*No:EIFFEL_PARSER.em5*/
  2527. /*No:EIFFEL_PARSER.fz_false*/
  2528. /*No:EIFFEL_PARSER.us_bit*/
  2529. /*No:EIFFEL_PARSER.em6*/
  2530. int r818end_of_input(T818* C){
  2531. int R=0;
  2532. R=((((T818*)C))->_cc/*24*/)==('\0');
  2533. return R;
  2534. }
  2535. int r818a_current(T818* C){
  2536. int R=0;
  2537. /*IF*/if (r511is_current()) {
  2538. C->_last_expression=r511to_e_current(((T511*)(oBC818tmp_name)));
  2539. R=1;
  2540. }
  2541. /*FI*/return R;
  2542. }
  2543. void r818a_parent_list(T818* C,T0* a1,T0* a2){
  2544. T0* _list=NULL;
  2545. while (!(!(r818a_parent(C)))) {
  2546. /*IF*/if ((_list)==((void*)(NULL))) {
  2547. _list=se_ma26(1,(((T818*)C))->_last_parent/*149*/);
  2548. }
  2549. else {
  2550. r26add_last(((T26*)_list),(((T818*)C))->_last_parent/*149*/);
  2551. }
  2552. /*FI*/C->_ok=r818skip1(C,'\73');
  2553. /*[IRF3.3set_comment*/((((T877*)(((T877*)((((T818*)C))->_last_parent/*149*/)))))->_comment)=(r818get_comments(C));
  2554. /*]*/
  2555. }
  2556. /*IF*/if (((a2)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))) {
  2557. /*IF*/if ((_list)==((void*)(NULL))) {
  2558. /*IF*/if (((((T605*)((T605*)((((T818*)C))->_last_base_class/*65*/))))->_heading_comment2/*32*/)==((void*)(NULL))) {
  2559. /*[IRF3.3set_heading_comment2*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_heading_comment2)=(a2);
  2560. /*]*/
  2561. }
  2562. else {
  2563. r393append(((T393*)((((T605*)((T605*)((((T818*)C))->_last_base_class/*65*/))))->_heading_comment2/*32*/)),a2);
  2564. }
  2565. /*FI*/}
  2566. else {
  2567. r605set_parent_list(((T605*)((((T818*)C))->_last_base_class/*65*/)),a1,a2,_list);
  2568. }
  2569. /*FI*/}
  2570. /*FI*/}
  2571. /*No:EIFFEL_PARSER.em7*/
  2572. /*No:EIFFEL_PARSER.fz_jvm_invokevirtual*/
  2573. void r818a_select_list(T818* C){
  2574. /*IF*/if (r818a_feature_list(C)) {
  2575. r877set_select(((T877*)((((T818*)C))->_last_parent/*149*/)),(((T818*)C))->_last_feature_list/*105*/);
  2576. }
  2577. /*FI*/}
  2578. void r818err_exp(T0* a1,T0* a2){
  2579. T0* _msg=NULL;
  2580. {T7*n=malloc(sizeof(*n));
  2581. *n=M7;
  2582. r7make(n,0);
  2583. _msg=(T0*)n;
  2584. }
  2585. r7append(((T7*)_msg),((T0*)ms11_818));
  2586. r7append(((T7*)_msg),a2);
  2587. r7append(((T7*)_msg),((T0*)ms12_818));
  2588. r683add_position(a1);
  2589. /*[IRF3.6fatal_error*/{T0* b1=_msg;
  2590. r683fatal_error(((T683*)(oBC364eh)),b1);
  2591. }/*]*/
  2592. }
  2593. /*No:EIFFEL_PARSER.em8*/
  2594. /*No:EIFFEL_PARSER.last_boolean_constant*/
  2595. /*No:EIFFEL_PARSER.em9*/
  2596. T0* r818current_position(T818* C){
  2597. T0* R=NULL;
  2598. {T627*n=malloc(sizeof(*n));
  2599. *n=M627;
  2600. r627make(n,(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/);
  2601. R=(T0*)n;
  2602. }
  2603. return R;
  2604. }
  2605. /*No:EIFFEL_PARSER.last_tag_mark*/
  2606. /*No:EIFFEL_PARSER.us_boolean*/
  2607. /*No:EIFFEL_PARSER.last_feature_name*/
  2608. /*No:EIFFEL_PARSER.us_eq*/
  2609. int r818a_free_operator(T818* C){
  2610. int R=0;
  2611. /*IF*/if ((((((((T818*)C))->_cc/*24*/)==('\100'))||(((((T818*)C))->_cc/*24*/)==('\43')))||(((((T818*)C))->_cc/*24*/)==('\174')))||(((((T818*)C))->_cc/*24*/)==('\46'))) {
  2612. R=1;
  2613. r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/);
  2614. /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  2615. r7extend(((T7*)(oBC511tmp_string)),b1);
  2616. }/*]*/
  2617. r818next_char(C);
  2618. while (!((((((((T818*)C))->_cc/*24*/)==('\n'))||(((((T818*)C))->_cc/*24*/)==('\40')))||(((((T818*)C))->_cc/*24*/)==('\11')))||(((((T818*)C))->_cc/*24*/)==('\42')))) {
  2619. /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  2620. r7extend(((T7*)(oBC511tmp_string)),b1);
  2621. }/*]*/
  2622. r818next_char(C);
  2623. }
  2624. r818skip_comments(C);
  2625. }
  2626. /*FI*/return R;
  2627. }
  2628. /*No:EIFFEL_PARSER.function_type*/
  2629. int r818a_then_part(T818* C,T0* a1){
  2630. int R=0;
  2631. T0* _expression=NULL;
  2632. /*IF*/if (r818a_expression(C)) {
  2633. R=1;
  2634. _expression=X662add_comment((((T818*)C))->_last_expression/*97*/,r818get_comments(C));
  2635. /*IF*/if (!(r818a_keyword(C,((T0*)ms46_470)))) {
  2636. /*[IRF3.6wcp*/{T818* C1=C;
  2637. T0* b1=((T0*)ms127_818);
  2638. r818warning(r818current_position(C1),b1);
  2639. }/*]*/
  2640. }
  2641. /*FI*/r530add_if_then(((T530*)a1),_expression,r818a_compound1(C,((T0*)ms128_818)));
  2642. }
  2643. /*FI*/return R;
  2644. }
  2645. /*No:EIFFEL_PARSER.us_xor*/
  2646. /*No:EIFFEL_PARSER.last_integer_constant*/
  2647. /*No:EIFFEL_PARSER.in_ensure*/
  2648. /*No:EIFFEL_PARSER.fz_frozen*/
  2649. /*No:EIFFEL_PARSER.ms_numbering*/
  2650. T0* r818a_clients(T818* C){
  2651. T0* R=NULL;
  2652. int _state=0;
  2653. T0* _list=NULL;
  2654. T0* _sp=NULL;
  2655. /*IF*/if (r818skip1(C,'\173')) {
  2656. {T627*n=malloc(sizeof(*n));
  2657. *n=M627;
  2658. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  2659. _sp=(T0*)n;
  2660. }
  2661. while (!((_state)>(3))) {
  2662. {int z1=_state;
  2663.  
  2664. if((0==z1)){
  2665. /*IF*/if (r818a_base_class_name(C)) {
  2666. _list=se_ma901(1,(((T818*)C))->_last_class_name/*89*/);
  2667. _state=2;
  2668. }
  2669.  else if (r818skip1(C,'\175')) {
  2670. _state=4;
  2671. }
  2672.  else if (((((T818*)C))->_cc/*24*/)==('\54')) {
  2673. /*[IRF3.6wcp*/{T818* C1=C;
  2674. T0* b1=((T0*)ms145_818);
  2675. r818warning(r818current_position(C1),b1);
  2676. }/*]*/
  2677. C->_ok=r818skip1(C,'\54');
  2678. }
  2679. else {
  2680. _state=3;
  2681. }
  2682. /*FI*/}
  2683.  else 
  2684. if((1==z1)){
  2685. /*IF*/if (r818a_base_class_name(C)) {
  2686. r901add_last(((T901*)_list),(((T818*)C))->_last_class_name/*89*/);
  2687. _state=2;
  2688. }
  2689.  else if (((((T818*)C))->_cc/*24*/)==('\54')) {
  2690. /*[IRF3.6wcp*/{T818* C1=C;
  2691. T0* b1=((T0*)ms145_818);
  2692. r818warning(r818current_position(C1),b1);
  2693. }/*]*/
  2694. C->_ok=r818skip1(C,'\54');
  2695. }
  2696.  else if (((((T818*)C))->_cc/*24*/)==('\175')) {
  2697. /*[IRF3.6wcp*/{T818* C1=C;
  2698. T0* b1=((T0*)ms56_818);
  2699. r818warning(r818current_position(C1),b1);
  2700. }/*]*/
  2701. C->_ok=r818skip1(C,'\175');
  2702. _state=4;
  2703. }
  2704. else {
  2705. _state=3;
  2706. }
  2707. /*FI*/}
  2708.  else 
  2709. if((2==z1)){
  2710. /*IF*/if (r818skip1(C,'\54')) {
  2711. _state=1;
  2712. }
  2713.  else if (r818skip1(C,'\175')) {
  2714. _state=4;
  2715. }
  2716.  else if (r818a_base_class_name(C)) {
  2717. r818warning((((T451*)((T451*)((((T818*)C))->_last_class_name/*89*/))))->_start_position/*4*/,((T0*)ms143_818));
  2718. r901add_last(((T901*)_list),(((T818*)C))->_last_class_name/*89*/);
  2719. }
  2720. else {
  2721. _state=3;
  2722. }
  2723. /*FI*/}
  2724.  else{r818fcp(C,((T0*)ms149_818));
  2725. _state=4;
  2726. }}
  2727. }
  2728. {T636*n=malloc(sizeof(*n));
  2729. *n=M636;
  2730. r636make(n,_sp,_list);
  2731. R=(T0*)n;
  2732. }
  2733. }
  2734. else {
  2735. {T636*n=malloc(sizeof(*n));
  2736. *n=M636;
  2737. /*[IRF3.1omitted*//*]*/
  2738. R=(T0*)n;
  2739. }
  2740. }
  2741. /*FI*/return R;
  2742. }
  2743. int r818a_when_part(T818* C,T0* a1){
  2744. int R=0;
  2745. T0* _constant=NULL;
  2746. T0* _e_when=NULL;
  2747. int _state=0;
  2748. /*IF*/if (r818a_keyword(C,((T0*)ms52_470))) {
  2749. R=1;
  2750. {T843*n=malloc(sizeof(*n));
  2751. *n=M843;
  2752. r843make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),r818get_comments(C));
  2753. _e_when=(T0*)n;
  2754. }
  2755. while (!((_state)>(3))) {
  2756. {int z1=_state;
  2757.  
  2758. if((0==z1)){
  2759. /*IF*/if (r818a_constant(C)) {
  2760. _constant=(((T818*)C))->_last_expression/*97*/;
  2761. _state=1;
  2762. }
  2763.  else if (r818a_keyword(C,((T0*)ms46_470))) {
  2764. /*IF*/if ((_constant)!=((void*)(NULL))) {
  2765. r843add_value(((T843*)_e_when),_constant);
  2766. }
  2767. /*FI*//*[IRF3.3set_compound*/((((T843*)(((T843*)_e_when))))->_compound)=(r818a_compound1(C,((T0*)ms132_818)));
  2768. /*]*/
  2769. r270add_when(((T270*)a1),_e_when);
  2770. _state=4;
  2771. }
  2772.  else if (((((T818*)C))->_cc/*24*/)==('\54')) {
  2773. /*[IRF3.6wcp*/{T818* C1=C;
  2774. T0* b1=((T0*)ms145_818);
  2775. r818warning(r818current_position(C1),b1);
  2776. }/*]*/
  2777. C->_ok=r818skip1(C,'\54');
  2778. }
  2779. else {
  2780. r818fcp(C,((T0*)ms142_818));
  2781. _state=4;
  2782. }
  2783. /*FI*/}
  2784.  else 
  2785. if((1==z1)){
  2786. /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) {
  2787. /*IF*/if ((_constant)!=((void*)(NULL))) {
  2788. r843add_value(((T843*)_e_when),_constant);
  2789. }
  2790. /*FI*//*[IRF3.3set_compound*/((((T843*)(((T843*)_e_when))))->_compound)=(r818a_compound1(C,((T0*)ms133_818)));
  2791. /*]*/
  2792. r270add_when(((T270*)a1),_e_when);
  2793. _state=4;
  2794. }
  2795.  else if (r818skip2(C,'\56','\56')) {
  2796. _state=2;
  2797. }
  2798.  else if (r818skip1(C,'\54')) {
  2799. r843add_value(((T843*)_e_when),_constant);
  2800. _constant=NULL;
  2801. _state=0;
  2802. }
  2803. else {
  2804. r818fcp(C,((T0*)ms142_818));
  2805. _state=4;
  2806. }
  2807. /*FI*/}
  2808.  else 
  2809. if((2==z1)){
  2810. /*IF*/if (r818a_constant(C)) {
  2811. r843add_slice(((T843*)_e_when),_constant,(((T818*)C))->_last_expression/*97*/);
  2812. _constant=NULL;
  2813. _state=3;
  2814. }
  2815. else {
  2816. r818fcp(C,((T0*)ms142_818));
  2817. _state=4;
  2818. }
  2819. /*FI*/}
  2820.  else{/*IF*/if (r818skip1(C,'\54')) {
  2821. _state=0;
  2822. }
  2823.  else if (r818a_keyword(C,((T0*)ms46_470))) {
  2824. /*[IRF3.3set_compound*/((((T843*)(((T843*)_e_when))))->_compound)=(r818a_compound1(C,((T0*)ms134_818)));
  2825. /*]*/
  2826. r270add_when(((T270*)a1),_e_when);
  2827. _state=4;
  2828. }
  2829.  else if (r818a_constant(C)) {
  2830. _constant=(((T818*)C))->_last_expression/*97*/;
  2831. r818warning(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms143_818));
  2832. _state=1;
  2833. }
  2834. else {
  2835. r818fcp(C,((T0*)ms142_818));
  2836. _state=4;
  2837. }
  2838. /*FI*/}}
  2839. }
  2840. }
  2841. /*FI*/return R;
  2842. }
  2843. int r818a_feature_list(T818* C){
  2844. int R=0;
  2845. int _state=0;
  2846. C->_last_feature_list=NULL;
  2847. while (!((_state)>=(3))) {
  2848. {int z1=_state;
  2849.  
  2850. if((0==z1)){
  2851. /*IF*/if (r818a_feature_name(C)) {
  2852. C->_last_feature_list=se_ma855(1,(((T818*)C))->_last_feature_name/*109*/);
  2853. R=1;
  2854. _state=1;
  2855. }
  2856.  else if (((((T818*)C))->_cc/*24*/)==('\54')) {
  2857. /*[IRF3.6wcp*/{T818* C1=C;
  2858. T0* b1=((T0*)ms145_818);
  2859. r818warning(r818current_position(C1),b1);
  2860. }/*]*/
  2861. C->_ok=r818skip1(C,'\54');
  2862. }
  2863. else {
  2864. _state=3;
  2865. }
  2866. /*FI*/}
  2867.  else 
  2868. if((1==z1)){
  2869. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\54')) {
  2870. C->_ok=r818skip1(C,'\54');
  2871. _state=2;
  2872. }
  2873.  else if (r818a_feature_name(C)) {
  2874. r818warning(X776start_position((((T818*)C))->_last_feature_name/*109*/),((T0*)ms143_818));
  2875. r855add_last(((T855*)((((T818*)C))->_last_feature_list/*105*/)),(((T818*)C))->_last_feature_name/*109*/);
  2876. }
  2877. else {
  2878. _state=3;
  2879. }
  2880. /*FI*/}
  2881.  else {/*IF*/if (r818a_feature_name(C)) {
  2882. r855add_last(((T855*)((((T818*)C))->_last_feature_list/*105*/)),(((T818*)C))->_last_feature_name/*109*/);
  2883. _state=1;
  2884. }
  2885.  else if (((((T818*)C))->_cc/*24*/)==('\54')) {
  2886. /*[IRF3.6wcp*/{T818* C1=C;
  2887. T0* b1=((T0*)ms150_818);
  2888. r818warning(r818current_position(C1),b1);
  2889. }/*]*/
  2890. C->_ok=r818skip1(C,'\54');
  2891. }
  2892. else {
  2893. /*[IRF3.6ecp*/{T818* C1=C;
  2894. T0* b1=((T0*)ms140_818);
  2895. r818error(r818current_position(C1),b1);
  2896. }/*]*/
  2897. _state=3;
  2898. }
  2899. /*FI*/}}
  2900. }
  2901. return R;
  2902. }
  2903. /*No:EIFFEL_PARSER.set_case_insensitive*/
  2904. int r818a_instruction(T818* C){
  2905. int R=0;
  2906. R=(((((((r818a_check(C))||(r818a_debug(C)))||(r818a_conditional(C)))||(r818a_retry(C)))||(r818a_inspect(C)))||(r818a_loop(C)))||(r818a_creation(C)))||(r818a_assignment_or_call(C));
  2907. return R;
  2908. }
  2909. /*No:EIFFEL_PARSER.fz_is*/
  2910. /*No:EIFFEL_PARSER.fz_ensure*/
  2911. /*No:EIFFEL_PARSER.fz_indexing*/
  2912. /*No:EIFFEL_PARSER.us_not*/
  2913. int r818a_parent(T818* C){
  2914. int R=0;
  2915. /*IF*/if (r818a_class_type(C)) {
  2916. R=1;
  2917. {T877*n=malloc(sizeof(*n));
  2918. *n=M877;
  2919. r877make(n,(((T818*)C))->_last_class_type/*93*/);
  2920. C->_last_parent=(T0*)n;
  2921. }
  2922. /*IF*/if (r818a_keyword(C,((T0*)ms39_470))) {
  2923. r818a_rename_list(C);
  2924. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) {
  2925. /*[IRF3.6wcp*/{T818* C1=C;
  2926. T0* b1=((T0*)ms108_818);
  2927. r818warning(r818current_position(C1),b1);
  2928. }/*]*/
  2929. C->_ok=r818skip1(C,'\73');
  2930. }
  2931. /*FI*/}
  2932. /*FI*/r818a_new_export_list(C);
  2933. /*IF*/if (r818a_keyword(C,((T0*)ms48_470))) {
  2934. r818a_undefine_list(C);
  2935. }
  2936. /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms38_470))) {
  2937. r818a_redefine_list(C);
  2938. }
  2939. /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms43_470))) {
  2940. r818a_select_list(C);
  2941. }
  2942. /*FI*//*IF*/if (((((r818a_keyword(C,((T0*)ms39_470)))||(r818a_keyword(C,((T0*)ms15_470))))||(r818a_keyword(C,((T0*)ms48_470))))||(r818a_keyword(C,((T0*)ms38_470))))||(r818a_keyword(C,((T0*)ms43_470)))) {
  2943. r683add_position(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  2944. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms109_818);
  2945. r683fatal_error(((T683*)(oBC364eh)),b1);
  2946. }/*]*/
  2947. }
  2948. /*FI*/C->_ok=r818a_keyword(C,((T0*)ms12_470));
  2949. }
  2950. /*FI*/return R;
  2951. }
  2952. /*No:EIFFEL_PARSER.us_muls*/
  2953. /*No:EIFFEL_PARSER.last_ascii_code*/
  2954. /*No:EIFFEL_PARSER.fz_c_inlinewithcurrent*/
  2955. int r818a_prefix(T818* C){
  2956. int R=0;
  2957. /*IF*/if (r818a_keyword(C,((T0*)ms37_470))) {
  2958. R=1;
  2959. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\42')) {
  2960. r818next_char(C);
  2961. }
  2962. else {
  2963. /*[IRF3.6wcp*/{T818* C1=C;
  2964. T0* b1=((T0*)ms110_818);
  2965. r818warning(r818current_position(C1),b1);
  2966. }/*]*/
  2967. }
  2968. /*FI*//*IF*/if (r818a_unary(C)) {
  2969. }
  2970.  else if (r818a_free_operator(C)) {
  2971. C->_last_prefix=r511to_prefix_name(((T511*)(oBC818tmp_name)));
  2972. }
  2973. else {
  2974. r818fcp(C,((T0*)ms111_818));
  2975. }
  2976. /*FI*//*IF*/if (!(r818skip1(C,'\42'))) {
  2977. /*[IRF3.6wcp*/{T818* C1=C;
  2978. T0* b1=((T0*)ms112_818);
  2979. r818warning(r818current_position(C1),b1);
  2980. }/*]*/
  2981. }
  2982. /*FI*/}
  2983. /*FI*/return R;
  2984. }
  2985. void r818error(T0* a1,T0* a2){
  2986. r683add_position(a1);
  2987. r683error(((T683*)(oBC364eh)),a2);
  2988. }
  2989. /*No:EIFFEL_PARSER.us_gt*/
  2990. /*No:EIFFEL_PARSER.fz_until*/
  2991. int r818a_e0(T818* C){
  2992. int R=0;
  2993. R=r818a_e1(C);
  2994. r818a_r1(C,(((T818*)C))->_last_expression/*97*/);
  2995. return R;
  2996. }
  2997. void r818a_class_declaration(T818* C){
  2998. T0* _al=NULL;
  2999. T0* _hc=NULL;
  3000. T0* _sp=NULL;
  3001. r818a_indexing(C);
  3002. /*IF*/if (r818a_keyword(C,((T0*)ms8_470))) {
  3003. r605set_is_deferred(((T605*)((((T818*)C))->_last_base_class/*65*/)));
  3004. }
  3005. /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms14_470))) {
  3006. r605set_is_expanded(((T605*)((((T818*)C))->_last_base_class/*65*/)));
  3007. /*IF*/if (r818a_keyword(C,((T0*)ms8_470))) {
  3008. r605set_is_deferred(((T605*)((((T818*)C))->_last_base_class/*65*/)));
  3009. }
  3010. /*FI*/}
  3011. /*FI*//*[IRF3.3set_heading_comment1*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_heading_comment1)=(r818get_comments(C));
  3012. /*]*/
  3013. /*IF*/if (!(r818a_keyword(C,((T0*)ms5_470)))) {
  3014. r818fcp(C,((T0*)ms50_818));
  3015. }
  3016. /*FI*/r818a_base_class_name1(C);
  3017. r818a_formal_generic_list(C);
  3018. /*IF*/if (r818a_keyword(C,((T0*)ms33_470))) {
  3019. /*IF*/if (r818a_manifest_string(C)) {
  3020. /*[IRF3.3set_obsolete_type_string*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_obsolete_type_string)=((((T818*)C))->_last_manifest_string/*145*/);
  3021. /*]*/
  3022. }
  3023. else {
  3024. r818fcp(C,((T0*)ms51_818));
  3025. }
  3026. /*FI*/}
  3027. /*FI*//*[IRF3.3set_heading_comment2*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_heading_comment2)=(r818get_comments(C));
  3028. /*]*/
  3029. /*IF*/if (r818a_keyword(C,((T0*)ms24_470))) {
  3030. r818a_parent_list(C,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),r818get_comments(C));
  3031. }
  3032. /*FI*/while (!(!(r818a_keyword(C,((T0*)ms6_470))))) {
  3033. r818a_creation_clause(C,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  3034. }
  3035. while (!(!(r818a_keyword(C,((T0*)ms18_470))))) {
  3036. r818a_feature_clause(C);
  3037. }
  3038. /*IF*/if (r818a_keyword(C,((T0*)ms26_470))) {
  3039. {T627*n=malloc(sizeof(*n));
  3040. *n=M627;
  3041. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  3042. _sp=(T0*)n;
  3043. }
  3044. _hc=r818get_comments(C);
  3045. _al=r818a_assertion(C);
  3046. r605set_invariant(((T605*)((((T818*)C))->_last_base_class/*65*/)),_sp,_hc,_al);
  3047. }
  3048. /*FI*//*IF*/if ((r818a_keyword(C,((T0*)ms12_470)))||(((((T818*)C))->_last_keyword/*113*/)==((void*)(((T0*)ms12_470))))) {
  3049. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) {
  3050. /*[IRF3.6wcp*/{T818* C1=C;
  3051. T0* b1=((T0*)ms68_470);
  3052. r818warning(r818current_position(C1),b1);
  3053. }/*]*/
  3054. C->_ok=r818skip1(C,'\73');
  3055. }
  3056. /*FI*//*[IRF3.3set_end_comment*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_end_comment)=(r818get_comments(C));
  3057. /*]*/
  3058. /*IF*/if (((((T818*)C))->_cc/*24*/)!=('\0')) {
  3059. r818fcp(C,((T0*)ms52_818));
  3060. }
  3061. /*FI*/}
  3062. else {
  3063. r818fcp(C,((T0*)ms53_818));
  3064. }
  3065. /*FI*/}
  3066. int r818skip1(T818* C,char a1){
  3067. int R=0;
  3068. /*IF*/if ((a1)==((((T818*)C))->_cc/*24*/)) {
  3069. C->_start_line=(((T818*)C))->_line/*16*/;
  3070. C->_start_column=(((T818*)C))->_column/*12*/;
  3071. R=1;
  3072. r818next_char(C);
  3073. r818skip_comments(C);
  3074. }
  3075. /*FI*/return R;
  3076. }
  3077. /*No:EIFFEL_PARSER.us_plus*/
  3078. void r818a_r1(T818* C,T0* a1){
  3079. T0* _sp=NULL;
  3080. T0* _infix_implies=NULL;
  3081. /*IF*/if (r818a_keyword(C,((T0*)ms34_473))) {
  3082. {T627*n=malloc(sizeof(*n));
  3083. *n=M627;
  3084. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  3085. _sp=(T0*)n;
  3086. }
  3087. /*IF*/if (r818a_e1(C)) {
  3088. {T90*n=malloc(sizeof(*n));
  3089. *n=M90;
  3090. r90make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  3091. _infix_implies=(T0*)n;
  3092. }
  3093. r818a_r1(C,_infix_implies);
  3094. }
  3095. else {
  3096. r818error(_sp,((T0*)ms119_818));
  3097. }
  3098. /*FI*/}
  3099. else {
  3100. C->_last_expression=a1;
  3101. }
  3102. /*FI*/}
  3103. int r818a_e1(T818* C){
  3104. int R=0;
  3105. R=r818a_e2(C);
  3106. r818a_r2(C,(((T818*)C))->_last_expression/*97*/);
  3107. return R;
  3108. }
  3109. /*No:EIFFEL_PARSER.last_type_formal_generic*/
  3110. /*No:EIFFEL_PARSER.em10*/
  3111. /*No:EIFFEL_PARSER.em20*/
  3112. int r818skip2(T818* C,char a1,char a2){
  3113. int R=0;
  3114. /*IF*/if ((a1)==((((T818*)C))->_cc/*24*/)) {
  3115. C->_start_line=(((T818*)C))->_line/*16*/;
  3116. C->_start_column=(((T818*)C))->_column/*12*/;
  3117. r818next_char(C);
  3118. /*IF*/if ((a2)==((((T818*)C))->_cc/*24*/)) {
  3119. R=1;
  3120. r818next_char(C);
  3121. r818skip_comments(C);
  3122. }
  3123. else {
  3124. r818prev_char(C);
  3125. }
  3126. /*FI*/}
  3127. /*FI*/return R;
  3128. }
  3129. void r818a_r2(T818* C,T0* a1){
  3130. T0* _sp=NULL;
  3131. T0* _infix_xor=NULL;
  3132. T0* _infix_or=NULL;
  3133. T0* _infix_or_else=NULL;
  3134. /*IF*/if (r818a_keyword(C,((T0*)ms41_473))) {
  3135. {T627*n=malloc(sizeof(*n));
  3136. *n=M627;
  3137. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  3138. _sp=(T0*)n;
  3139. }
  3140. /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) {
  3141. /*IF*/if (r818a_e2(C)) {
  3142. {T278*n=malloc(sizeof(*n));
  3143. *n=M278;
  3144. r278make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  3145. _infix_or_else=(T0*)n;
  3146. }
  3147. r818a_r2(C,_infix_or_else);
  3148. }
  3149. else {
  3150. r818err_exp(_sp,((T0*)ms42_473));
  3151. }
  3152. /*FI*/}
  3153. else {
  3154. /*IF*/if (r818a_e2(C)) {
  3155. {T121*n=malloc(sizeof(*n));
  3156. *n=M121;
  3157. r121make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  3158. _infix_or=(T0*)n;
  3159. }
  3160. r818a_r2(C,_infix_or);
  3161. }
  3162. else {
  3163. r818err_exp(_sp,((T0*)ms41_473));
  3164. }
  3165. /*FI*/}
  3166. /*FI*/}
  3167.  else if (r818a_keyword(C,((T0*)ms50_473))) {
  3168. {T627*n=malloc(sizeof(*n));
  3169. *n=M627;
  3170. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  3171. _sp=(T0*)n;
  3172. }
  3173. /*IF*/if (r818a_e2(C)) {
  3174. {T760*n=malloc(sizeof(*n));
  3175. *n=M760;
  3176. r760make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  3177. _infix_xor=(T0*)n;
  3178. }
  3179. r818a_r2(C,_infix_xor);
  3180. }
  3181. else {
  3182. r818err_exp(_sp,((T0*)ms50_473));
  3183. }
  3184. /*FI*/}
  3185. else {
  3186. C->_last_expression=a1;
  3187. }
  3188. /*FI*/}
  3189. int r818a_e2(T818* C){
  3190. int R=0;
  3191. R=r818a_e3(C);
  3192. r818a_r3(C,(((T818*)C))->_last_expression/*97*/);
  3193. return R;
  3194. }
  3195. /*No:EIFFEL_PARSER.em11*/
  3196. /*No:EIFFEL_PARSER.fz_expanded*/
  3197. void r818a_r3(T818* C,T0* a1){
  3198. T0* _sp=NULL;
  3199. T0* _infix_and=NULL;
  3200. T0* _infix_and_then=NULL;
  3201. /*IF*/if (r818a_keyword(C,((T0*)ms27_473))) {
  3202. {T627*n=malloc(sizeof(*n));
  3203. *n=M627;
  3204. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  3205. _sp=(T0*)n;
  3206. }
  3207. /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) {
  3208. /*IF*/if (r818a_e3(C)) {
  3209. {T655*n=malloc(sizeof(*n));
  3210. *n=M655;
  3211. r655make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  3212. _infix_and_then=(T0*)n;
  3213. }
  3214. r818a_r3(C,_infix_and_then);
  3215. }
  3216. else {
  3217. r818err_exp(_sp,((T0*)ms28_473));
  3218. }
  3219. /*FI*/}
  3220. else {
  3221. /*IF*/if (r818a_e3(C)) {
  3222. {T313*n=malloc(sizeof(*n));
  3223. *n=M313;
  3224. r313make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  3225. _infix_and=(T0*)n;
  3226. }
  3227. r818a_r3(C,_infix_and);
  3228. }
  3229. else {
  3230. r818err_exp(_sp,((T0*)ms27_473));
  3231. }
  3232. /*FI*/}
  3233. /*FI*/}
  3234. else {
  3235. C->_last_expression=a1;
  3236. }
  3237. /*FI*/}
  3238. int r818a_e3(T818* C){
  3239. int R=0;
  3240. R=r818a_e4(C);
  3241. r818a_r4(C,(((T818*)C))->_last_expression/*97*/);
  3242. return R;
  3243. }
  3244. /*No:EIFFEL_PARSER.fz_class*/
  3245. /*No:EIFFEL_PARSER.last_base_class*/
  3246. /*No:EIFFEL_PARSER.fz_infix*/
  3247. /*No:EIFFEL_PARSER.em12*/
  3248. T0*oBC818forbidden_class=NULL;
  3249. /*No:EIFFEL_PARSER.us_lt*/
  3250. /*No:EIFFEL_PARSER.us_or*/
  3251. void r818a_r4(T818* C,T0* a1){
  3252. T0* _sp=NULL;
  3253. T0* _infix_gt=NULL;
  3254. T0* _infix_ge=NULL;
  3255. T0* _infix_lt=NULL;
  3256. T0* _infix_le=NULL;
  3257. T0* _infix_neq=NULL;
  3258. T0* _infix_eq=NULL;
  3259. /*IF*/if (r818skip1(C,'\75')) {
  3260. {T627*n=malloc(sizeof(*n));
  3261. *n=M627;
  3262. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  3263. _sp=(T0*)n;
  3264. }
  3265. /*IF*/if (r818a_e4(C)) {
  3266. {T999*n=malloc(sizeof(*n));
  3267. *n=M999;
  3268. r999make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  3269. _infix_eq=(T0*)n;
  3270. }
  3271. r818a_r4(C,_infix_eq);
  3272. }
  3273. else {
  3274. r818err_exp(_sp,((T0*)ms31_473));
  3275. }
  3276. /*FI*/}
  3277.  else if (r818skip2(C,'\57','\75')) {
  3278. {T627*n=malloc(sizeof(*n));
  3279. *n=M627;
  3280. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  3281. _sp=(T0*)n;
  3282. }
  3283. /*IF*/if (r818a_e4(C)) {
  3284. {T517*n=malloc(sizeof(*n));
  3285. *n=M517;
  3286. r517make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  3287. _infix_neq=(T0*)n;
  3288. }
  3289. r818a_r4(C,_infix_neq);
  3290. }
  3291. else {
  3292. r818err_exp(_sp,((T0*)ms39_473));
  3293. }
  3294. /*FI*/}
  3295.  else if (r818skip2(C,'\74','\75')) {
  3296. {T627*n=malloc(sizeof(*n));
  3297. *n=M627;
  3298. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  3299. _sp=(T0*)n;
  3300. }
  3301. /*IF*/if (r818a_e4(C)) {
  3302. {T932*n=malloc(sizeof(*n));
  3303. *n=M932;
  3304. r932make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  3305. _infix_le=(T0*)n;
  3306. }
  3307. r818a_r4(C,_infix_le);
  3308. }
  3309. else {
  3310. r818err_exp(_sp,((T0*)ms35_473));
  3311. }
  3312. /*FI*/}
  3313.  else if (r818skip2(C,'\76','\75')) {
  3314. {T627*n=malloc(sizeof(*n));
  3315. *n=M627;
  3316. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  3317. _sp=(T0*)n;
  3318. }
  3319. /*IF*/if (r818a_e4(C)) {
  3320. {T890*n=malloc(sizeof(*n));
  3321. *n=M890;
  3322. r890make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  3323. _infix_ge=(T0*)n;
  3324. }
  3325. r818a_r4(C,_infix_ge);
  3326. }
  3327. else {
  3328. r818err_exp(_sp,((T0*)ms32_473));
  3329. }
  3330. /*FI*/}
  3331.  else if (r818skip1(C,'\74')) {
  3332. {T627*n=malloc(sizeof(*n));
  3333. *n=M627;
  3334. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  3335. _sp=(T0*)n;
  3336. }
  3337. /*IF*/if (r818a_e4(C)) {
  3338. {T112*n=malloc(sizeof(*n));
  3339. *n=M112;
  3340. r112make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  3341. _infix_lt=(T0*)n;
  3342. }
  3343. r818a_r4(C,_infix_lt);
  3344. }
  3345. else {
  3346. r818err_exp(_sp,((T0*)ms36_473));
  3347. }
  3348. /*FI*/}
  3349.  else if (r818skip1unless2(C,'\76','\76')) {
  3350. {T627*n=malloc(sizeof(*n));
  3351. *n=M627;
  3352. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  3353. _sp=(T0*)n;
  3354. }
  3355. /*IF*/if (r818a_e4(C)) {
  3356. {T57*n=malloc(sizeof(*n));
  3357. *n=M57;
  3358. r57make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  3359. _infix_gt=(T0*)n;
  3360. }
  3361. r818a_r4(C,_infix_gt);
  3362. }
  3363. else {
  3364. r818err_exp(_sp,((T0*)ms33_473));
  3365. }
  3366. /*FI*/}
  3367. else {
  3368. C->_last_expression=a1;
  3369. }
  3370. /*FI*/}
  3371. int r818a_e4(T818* C){
  3372. int R=0;
  3373. R=r818a_e5(C);
  3374. r818a_r5(C,(((T818*)C))->_last_expression/*97*/);
  3375. return R;
  3376. }
  3377. /*No:EIFFEL_PARSER.us_any*/
  3378. /*No:EIFFEL_PARSER.em13*/
  3379. /*No:EIFFEL_PARSER.current_class_name*/
  3380. /*No:EIFFEL_PARSER.fz_strip*/
  3381. T0* r886add_comment(T886* C,T0* a1){
  3382. T0* R=NULL;
  3383. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  3384. R=(T0*)C;
  3385. }
  3386. else {
  3387. {T529*n=malloc(sizeof(*n));
  3388. *n=M529;
  3389. r529make(n,(T0*)C,a1);
  3390. R=(T0*)n;
  3391. }
  3392. }
  3393. /*FI*/return R;
  3394. }
  3395. int r886to_integer(T886* C){
  3396. int R=0;
  3397. r886error((((T886*)C))->_start_position/*16*/,((T0*)ms69_470));
  3398. return R;
  3399. }
  3400. int r886is_a(T886* C,T0* a1){
  3401. int R=0;
  3402. R=X291is_a(X291run_type((((T886*)C))->_result_type/*24*/),X291run_type(X662result_type(a1)));
  3403. /*IF*/if (!(R)) {
  3404. r683add_position((((T886*)C))->_start_position/*16*/);
  3405. r886error(X662start_position(a1),((T0*)ms4_662));
  3406. }
  3407. /*FI*/return R;
  3408. }
  3409. /*No:ARGUMENT_NAME2.is_current*/
  3410. void r886mapping_c_arg(T886* C,T0* a1){
  3411. T0* _rt=NULL;
  3412. _rt=X291run_type((((T886*)C))->_result_type/*24*/);
  3413. /*IF*/if (X291is_reference(_rt)) {
  3414. /*IF*/if (X291is_reference(a1)) {
  3415. r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/);
  3416. }
  3417. else {
  3418. X291to_expanded(_rt);
  3419. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  3420. char b1='\50';
  3421. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  3422. }/*]*/
  3423. /*]*/
  3424. r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/);
  3425. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  3426. char b1='\51';
  3427. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  3428. }/*]*/
  3429. /*]*/
  3430. }
  3431. /*FI*/}
  3432. else {
  3433. /*IF*/if (X291is_reference(a1)) {
  3434. X291to_reference(_rt);
  3435. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  3436. char b1='\50';
  3437. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  3438. }/*]*/
  3439. /*]*/
  3440. r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/);
  3441. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  3442. char b1='\51';
  3443. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  3444. }/*]*/
  3445. /*]*/
  3446. }
  3447. else {
  3448. r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/);
  3449. }
  3450. /*FI*/}
  3451. /*FI*/}
  3452. /*No:ARGUMENT_NAME2.static_value*/
  3453. void r886mapping_c_target(T886* C,T0* a1){
  3454. T0* _rt=NULL;
  3455. int _flag=0;
  3456. _flag=r324call_invariant_start(a1);
  3457. _rt=X291run_type((((T886*)C))->_result_type/*24*/);
  3458. /*IF*/if (X291is_reference(_rt)) {
  3459. /*IF*/if (X291is_reference(a1)) {
  3460. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  3461. char b1='\50';
  3462. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  3463. }/*]*/
  3464. /*]*/
  3465. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  3466. char b1='\50';
  3467. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  3468. }/*]*/
  3469. /*]*/
  3470. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  3471. char b1='T';
  3472. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  3473. }/*]*/
  3474. /*]*/
  3475. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
  3476. /*]*/
  3477. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  3478. char b1='\52';
  3479. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  3480. }/*]*/
  3481. /*]*/
  3482. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  3483. char b1='\51';
  3484. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  3485. }/*]*/
  3486. /*]*/
  3487. r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/);
  3488. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  3489. char b1='\51';
  3490. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  3491. }/*]*/
  3492. /*]*/
  3493. }
  3494. else {
  3495. r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/);
  3496. }
  3497. /*FI*/}
  3498. else {
  3499. /*IF*/if (X291is_reference(a1)) {
  3500. r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/);
  3501. }
  3502. else {
  3503. r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/);
  3504. }
  3505. /*FI*/}
  3506. /*FI*//*IF*/if (_flag) {
  3507. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  3508. char b1='\51';
  3509. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  3510. }/*]*/
  3511. /*]*/
  3512. }
  3513. /*FI*/}
  3514. /*No:ARGUMENT_NAME2.to_string*/
  3515. /*No:ARGUMENT_NAME2.fz_iinaiv*/
  3516. /*No:ARGUMENT_NAME2.dca_inline_argument*/
  3517. /*No:ARGUMENT_NAME2.set_result_type*/
  3518. /*No:ARGUMENT_NAME2.start_position*/
  3519. void r886compile_to_c(T886* C){
  3520. /*IF*/if (X291is_user_expanded((((T886*)C))->_result_type/*24*/)) {
  3521. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  3522. char b1='\52';
  3523. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  3524. }/*]*/
  3525. /*]*/
  3526. }
  3527. /*FI*/r324print_argument(((T324*)(oBC364cpp)),(((T886*)C))->_rank/*20*/);
  3528. }
  3529. /*No:ARGUMENT_NAME2.c_simple*/
  3530. T0* r886to_runnable(T886* C,T0* a1){
  3531. T0* R=NULL;
  3532. T0* _rt=NULL;
  3533. T0* _rf=NULL;
  3534. _rf=r604top_rf(((T604*)(oBC364small_eiffel)));
  3535. _rt=r31type(((T31*)(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_arguments/*20*/))),(((T886*)C))->_rank/*20*/);
  3536. /*IF*/if (((((T886*)C))->_current_type/*8*/)==((void*)(NULL))) {
  3537. C->_current_type=a1;
  3538. C->_result_type=_rt;
  3539. R=(T0*)C;
  3540. }
  3541. else {
  3542. {T886*n=malloc(sizeof(*n));
  3543. *n=M886;
  3544. r886make_runnable(n,(T0*)C,a1,_rt);
  3545. R=(T0*)n;
  3546. }
  3547. }
  3548. /*FI*/return R;
  3549. }
  3550. /*No:ARGUMENT_NAME2.set_rank*/
  3551. /*No:ARGUMENT_NAME2.rank*/
  3552. /*No:ARGUMENT_NAME2.result_type*/
  3553. /*No:ARGUMENT_NAME2.is_result*/
  3554. /*No:ARGUMENT_NAME2.is_static*/
  3555. /*No:ARGUMENT_NAME2.can_be_dropped*/
  3556. /*No:ARGUMENT_NAME2.current_type*/
  3557. /*No:ARGUMENT_NAME2.compile_to_c_old*/
  3558. /*No:ARGUMENT_NAME2.static_value_mem*/
  3559. /*No:ARGUMENT_NAME2.is_manifest_string*/
  3560. void r886refer_to(T886* C,T0* a1,T0* a2,int a3){
  3561. T0* _declaration_name=NULL;
  3562. C->_start_position=a1;
  3563. C->_rank=a3;
  3564. _declaration_name=/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)a2)))->_flat_list/*12*/)),a3)/*)*/;
  3565. C->_to_string=(((T873*)((T873*)_declaration_name)))->_to_string/*12*/;
  3566. C->_result_type=(((T873*)((T873*)_declaration_name)))->_result_type/*24*/;
  3567. }
  3568. /*No:ARGUMENT_NAME2.is_void*/
  3569. /*No:ARGUMENT_NAME2.is_pre_computable*/
  3570. /*No:ARGUMENT_NAME2.use_current*/
  3571. void r886error(T0* a1,T0* a2){
  3572. r683add_position(a1);
  3573. r683error(((T683*)(oBC364eh)),a2);
  3574. }
  3575. /*No:ARGUMENT_NAME2.isa_dca_inline_argument*/
  3576. /*No:ARGUMENT_NAME2.afd_check*/
  3577. void r886make_runnable(T886* C,T0* a1,T0* a2,T0* a3){
  3578. *((T886*)(C))=*((T886*)(a1));
  3579. C->_current_type=a2;
  3580. C->_result_type=a3;
  3581. }
  3582. T0* r446add_comment(T446* C,T0* a1){
  3583. T0* R=NULL;
  3584. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  3585. R=(T0*)C;
  3586. }
  3587. else {
  3588. {T529*n=malloc(sizeof(*n));
  3589. *n=M529;
  3590. r529make(n,(T0*)C,a1);
  3591. R=(T0*)n;
  3592. }
  3593. }
  3594. /*FI*/return R;
  3595. }
  3596. int r446to_integer(T446* C){
  3597. int R=0;
  3598. r446error((((T446*)C))->_start_position/*20*/,((T0*)ms69_470));
  3599. return R;
  3600. }
  3601. /*No:SIMPLE_FEATURE_NAME.set_is_frozen*/
  3602. int r446is_a(T446* C,T0* a1){
  3603. int R=0;
  3604. R=X291is_a(X291run_type(/*(IRF4.6result_type*/(((T820*)((T820*)((((T446*)C))->_run_feature_2/*24*/))))->_result_type/*24*//*)*/),X291run_type(X662result_type(a1)));
  3605. /*IF*/if (!(R)) {
  3606. r683add_position((((T446*)C))->_start_position/*20*/);
  3607. r446error(X662start_position(a1),((T0*)ms4_662));
  3608. }
  3609. /*FI*/return R;
  3610. }
  3611. /*No:SIMPLE_FEATURE_NAME.is_current*/
  3612. /*No:SIMPLE_FEATURE_NAME.mapping_c_arg*/
  3613. /*No:SIMPLE_FEATURE_NAME.static_value*/
  3614. void r446make(T446* C,T0* a1,T0* a2){
  3615. C->_to_string=r902item(a1);
  3616. C->_start_position=a2;
  3617. }
  3618. void r446mapping_c_target(T446* C,T0* a1){
  3619. int _flag=0;
  3620. _flag=r324call_invariant_start(a1);
  3621. r446compile_to_c(C);
  3622. /*IF*/if (_flag) {
  3623. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  3624. char b1='\51';
  3625. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  3626. }/*]*/
  3627. /*]*/
  3628. }
  3629. /*FI*/}
  3630. /*No:SIMPLE_FEATURE_NAME.nb_errors*/
  3631. /*No:SIMPLE_FEATURE_NAME.to_string*/
  3632. /*No:SIMPLE_FEATURE_NAME.fz_iinaiv*/
  3633. /*No:SIMPLE_FEATURE_NAME.dca_inline_argument*/
  3634. T0* r446run_feature(T446* C,T0* a1){
  3635. T0* R=NULL;
  3636. R=r355get_feature(((T355*)(X291run_class(a1))),(T0*)C);
  3637. return R;
  3638. }
  3639. /*No:SIMPLE_FEATURE_NAME.start_position*/
  3640. void r446compile_to_c(T446* C){
  3641. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms5_446));
  3642. /*]*/
  3643. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string((((T820*)((T820*)((((T446*)C))->_run_feature_2/*24*/))))->_name/*16*/));
  3644. /*]*/
  3645. }
  3646. /*No:SIMPLE_FEATURE_NAME.c_simple*/
  3647. T0* r446to_runnable(T446* C,T0* a1){
  3648. T0* R=NULL;
  3649. T0* _new_name=NULL;
  3650. T0* _rf=NULL;
  3651. T0* _wbc=NULL;
  3652. /*IF*/if (((((T446*)C))->_current_type/*12*/)==((void*)(NULL))) {
  3653. C->_current_type=a1;
  3654. _wbc=r627base_class(((T627*)((((T446*)C))->_start_position/*20*/)));
  3655. _new_name=r605new_name_of(((T605*)(X291base_class(a1))),_wbc,(T0*)C);
  3656. _rf=r355get_feature(((T355*)(X291run_class((((T446*)C))->_current_type/*12*/))),_new_name);
  3657. /*IF*/if ((_rf)==((void*)(NULL))) {
  3658. r446error((((T446*)C))->_start_position/*20*/,((T0*)ms2_446));
  3659. }
  3660. else {
  3661. C->_run_feature_2=_rf;
  3662. if(NULL!=(C->_run_feature_2))switch(((T0*)C->_run_feature_2)->id) {
  3663. case 820: 
  3664. break;
  3665. default:
  3666. C->_run_feature_2=NULL;
  3667. };/*IF*/if (((((T446*)C))->_run_feature_2/*24*/)==((void*)(NULL))) {
  3668. r683add_position(X496start_position(_rf));
  3669. r446error((((T446*)C))->_start_position/*20*/,((T0*)ms3_446));
  3670. }
  3671. /*FI*/}
  3672. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  3673. R=(T0*)C;
  3674. }
  3675. else {
  3676. r446error((((T446*)C))->_start_position/*20*/,((T0*)ms4_446));
  3677. }
  3678. /*FI*/}
  3679.  else if ((a1)==((void*)((((T446*)C))->_current_type/*12*/))) {
  3680. R=(T0*)C;
  3681. }
  3682. else {
  3683. {T446*n=malloc(sizeof(*n));
  3684. *n=M446;
  3685. r446make(n,(((T446*)C))->_to_string/*16*/,(((T446*)C))->_start_position/*20*/);
  3686. R=(T0*)n;
  3687. }
  3688. R=r446to_runnable(((T446*)R),a1);
  3689. }
  3690. /*FI*/return R;
  3691. }
  3692. /*No:SIMPLE_FEATURE_NAME.run_feature_2*/
  3693. /*No:SIMPLE_FEATURE_NAME.result_type*/
  3694. /*No:SIMPLE_FEATURE_NAME.is_result*/
  3695. /*No:SIMPLE_FEATURE_NAME.is_static*/
  3696. int r446can_be_dropped(T446* C){
  3697. int R=0;
  3698. r683add_position((((T446*)C))->_start_position/*20*/);
  3699. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_446);
  3700. r683fatal_error(((T683*)(oBC364eh)),b1);
  3701. }/*]*/
  3702. return R;
  3703. }
  3704. /*No:SIMPLE_FEATURE_NAME.current_type*/
  3705. /*No:SIMPLE_FEATURE_NAME.to_key*/
  3706. /*No:SIMPLE_FEATURE_NAME.compile_to_c_old*/
  3707. /*No:SIMPLE_FEATURE_NAME.static_value_mem*/
  3708. /*No:SIMPLE_FEATURE_NAME.is_manifest_string*/
  3709. T0* r446name_in(T446* C,T0* a1){
  3710. T0* R=NULL;
  3711. T0* _bc=NULL;
  3712. _bc=r446origin_base_class(C);
  3713. /*IF*/if ((_bc)==((void*)(a1))) {
  3714. R=(T0*)C;
  3715. }
  3716. else {
  3717. R=r605new_name_of(((T605*)a1),_bc,(T0*)C);
  3718. }
  3719. /*FI*/return R;
  3720. }
  3721. /*No:SIMPLE_FEATURE_NAME.is_frozen*/
  3722. /*No:SIMPLE_FEATURE_NAME.is_void*/
  3723. void r446undefine_in(T446* C,T0* a1){
  3724. /*IF*/if ((((T446*)C))->_is_frozen/*4*/) {
  3725. r446error((((T446*)C))->_start_position/*20*/,((T0*)ms1_776));
  3726. r605fatal_undefine(((T605*)a1),(T0*)C);
  3727. }
  3728. /*FI*/}
  3729. /*No:SIMPLE_FEATURE_NAME.cpp_put_infix_or_prefix*/
  3730. /*No:SIMPLE_FEATURE_NAME.is_pre_computable*/
  3731. /*No:SIMPLE_FEATURE_NAME.use_current*/
  3732. void r446error(T0* a1,T0* a2){
  3733. r683add_position(a1);
  3734. r683error(((T683*)(oBC364eh)),a2);
  3735. }
  3736. /*No:SIMPLE_FEATURE_NAME.isa_dca_inline_argument*/
  3737. /*No:SIMPLE_FEATURE_NAME.fatal_error*/
  3738. /*No:SIMPLE_FEATURE_NAME.mapping_c_in*/
  3739. T0* r446origin_base_class(T446* C){
  3740. T0* R=NULL;
  3741. T0* _sp=NULL;
  3742. _sp=(((T446*)C))->_start_position/*20*/;
  3743. /*IF*/if ((_sp)!=((void*)(NULL))) {
  3744. R=r627base_class(((T627*)_sp));
  3745. }
  3746. /*FI*/return R;
  3747. }
  3748. /*No:SIMPLE_FEATURE_NAME.afd_check*/
  3749.  
  3750.